Camelia, the Perl 6 bug

IRC log for #parrot, 2011-03-22

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:07 sjn_ joined #parrot
00:08 theory joined #parrot
00:08 cosimo joined #parrot
00:16 soh_cah_toa joined #parrot
00:16 cosimo left #parrot
00:17 cosimo joined #parrot
00:17 cosimo left #parrot
00:18 cosimo joined #parrot
00:19 dalek parrot/opsc_llvm: f1a81ea | bacek++ | runtime/parrot/library/LLVM/BasicBlock.pm:
00:19 dalek parrot/opsc_llvm: Add LLVM::BasicBlock.insert_before();
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/f1a81ea7d9
00:19 dalek parrot/opsc_llvm: 1f4542e | bacek++ | runtime/parrot/library/LLVM/Value.pm:
00:19 dalek parrot/opsc_llvm: Return self from Value.name for simplify chained calls.
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/1f4542e6c9
00:19 dalek parrot/opsc_llvm: b440a5c | bacek++ | runtime/parrot/library/LLVM/Type.pm:
00:19 dalek parrot/opsc_llvm: Improve Type::PMC slightly.
00:19 dalek parrot/opsc_llvm:
00:19 dalek parrot/opsc_llvm: LLVM doesn't like pointer(void). It should be replaced with pointer(int8()). Which makes sanse but still quite surprise.
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/b440a5cc0b
00:19 dalek parrot/opsc_llvm: a9482e2 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
00:19 dalek parrot/opsc_llvm: Fix typo
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/a9482e26b9
00:19 dalek parrot/opsc_llvm: 25c884a | bacek++ | / (2 files):
00:19 dalek parrot/opsc_llvm: Add Type::function for create FunctionType
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/25c884a1ba
00:19 dalek parrot/opsc_llvm: 71d072f | bacek++ | runtime/parrot/library/LLVM/Module.pm:
00:19 dalek parrot/opsc_llvm: Switch Module to use Type::function
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/71d072f2de
00:19 dalek parrot/opsc_llvm: 84952f9 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
00:19 dalek parrot/opsc_llvm: Fix bug with Value.name.
00:19 dalek parrot/opsc_llvm:
00:19 dalek parrot/opsc_llvm: We should actually return result of LLVM call.
00:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/84952f9e39
00:21 theory left #parrot
00:23 whiteknight left #parrot
00:29 kid51_at_dinner left #parrot
00:32 soh_cah_toa sorry, but i got a noob question here: what are all these messages from dalek about that show up from time to time?
00:34 bubaflub soh_cah_toa: dalek is a bot that reports commits to parrot and related repo
00:34 bacek_at_work soh_cah_toa, commits into parrot and related repos
00:35 soh_cah_toa okay
00:42 plobsing soh_cah_toa: we have a number of bots. dalek reports commits, ttbot reports continuous integration failures, aloha delivers messages and factoids (but is quite shy), clunker3 is for kicking because we no longer need it and it keeps comming back
00:42 clunker3 was kicked by plobsing: begone
00:43 bacek_at_work plobsing++  :)
00:44 soh_cah_toa cool, i've never seen that before
00:45 dalek parrot/opsc_llvm: 0adf372 | bacek++ | / (2 files):
00:45 dalek parrot/opsc_llvm: Add BasicBlock.prev
00:45 kid51 joined #parrot
00:45 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/0adf372f42
00:49 kid51 bacek_at_work ping
00:50 bacek_at_work kid51, pong
00:51 * bacek_at_work is here barely.
00:51 kid51 bacek_at_work: I just want to make sure you got my msg about t/library/llvm/.
00:53 bacek_at_work kid51, yes, thanks. I think we should enable recursive processing. Otherwise t/library will be stuffed with a lot of independent tests.
00:53 bacek_at_work especially for any reasonable complex library.
00:57 bubaflub left #parrot
00:57 theory joined #parrot
00:59 mtk left #parrot
01:05 woosley joined #parrot
01:07 mtk joined #parrot
01:13 dalek parrot/opsc_llvm: c21ee4f | jkeenan++ | lib/Parrot/Harness/DefaultTests.pm:
01:13 dalek parrot/opsc_llvm: Add t/library/*/*.t to list of globs included in \@library_tests, hence run during 'make test'.
01:13 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/c21ee4f29f
01:13 sjn left #parrot
01:14 nopaste "kid51" at 192.168.1.3 pasted "opsc_llvm branch: t/library/llvm/*.t: results when only older version of LLVM is available" (120 lines) at http://nopaste.snit.ch/38345
01:16 bacek_at_work kid51, can you replace libname on line 108 in runtime/parrot/library/LLVM.pm?
01:16 bacek_at_work with probably libLLVM-2.2.so
01:18 bacek_at_work hmm
01:18 bacek_at_work It will not work. llvm-2.2 (at least in debian) doesn't have shared library.
01:19 dalek parrot/opsc_llvm: cf06776 | luben++ | runtime/parrot/library/LLVM/Builder.pm:
01:19 dalek parrot/opsc_llvm: Add more Builder methods
01:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/cf067762fb
01:19 dalek parrot/opsc_llvm: a9403d6 | luben++ | / (7 files):
01:19 dalek parrot/opsc_llvm: Merge branch 'opsc_llvm' of github.com:parrot/parrot into opsc_llvm
01:19 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/a9403d6886
01:20 kid51 bacek_at_work:  Perhaps we should search for a minimum version of LLVM in config/auto/llvm.pm (and adjust t/steps/auto/llvm-01.t accordingly)?
01:20 bacek_at_work kid51, sounds about all right. Something like "2.7+" will work.
01:21 bacek_at_work actually, 2.7 is minimal required version.
01:27 dmalcolm left #parrot
01:33 hercynium joined #parrot
01:34 luben joined #parrot
01:40 bacek_at_work luben, ping
01:44 bacek_at_work msg luben Can you add "A" record with your "git commits email" into CREDITS? Than dalek will properly give you karma for commits.
01:44 aloha OK. I'll deliver the message.
01:45 particle left #parrot
01:46 particle joined #parrot
01:46 luben bacek, thanks, it's OK now, I was not working from this laptop and the previous 2 commits I have not setup the git repo with my email
01:47 bacek_at_work luben, ok
01:47 luben the last commit seems OK
01:51 luben bacek, if I could help with llvm/jit branches, tell me where to hack, what is most important
02:04 cotto ~~
02:09 robertpeters_WLS joined #parrot
02:09 robertpeters_WLS Hi everyone.
02:09 robertpeters_WLS Does someone have a moment to assist me with a Parrot installation problem?
02:11 robertpeters_WLS When I type "parrot setup.pir test" at the prompt, I get "load_bytecode" couldn't find file 'distutils.pbc'
02:11 robertpeters_WLS I'm on a rather fresh install (haven't done anything with it yet), using Windows 7 64bit and ActiveState Perl (Strawberry gave me an error when I tried to install it)
02:12 robertpeters_WLS I feel like Parrot isn't finding its own directories (like it doesn't know where to look for it's modules). I'm typing that code within the main Parrot directory.
02:15 dalek parrot/opsc_llvm: 79bb548 | luben++ | runtime/parrot/library/LLVM/ (2 files):
02:15 dalek parrot/opsc_llvm: * Add list of all available optimizer passes
02:15 dalek parrot/opsc_llvm: * some stylistic fixes in builder
02:15 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/79bb5481f1
02:18 marcel_r joined #parrot
02:19 plobsing robertpeters_WLS: you could try using a tool that monitors a process for system calls to confirm this.
02:19 plobsing wikipedia suggests strace (presumably short for "system trace") is a debugging utility in Linux to monitor the system calls used by a program and all the signals it receives, similar to "truss" utility in other Unix systems. This is made possible by a kernel feature known as ptrace.
02:20 plobsing oops. sorry, paste-o
02:20 plobsing http://www.intellectualheaven.com/def​ault.asp?BH=projects&H=strace.htm
02:20 mikehh left #parrot
02:20 robertpeters_WLS Thanks, plobsing. I'm using Windows, unfortunately.
02:20 jsut joined #parrot
02:20 plobsing although I cannot personally vouch for this product, not having developed on windows in a while
02:21 cotto There's probably a sysinternals tool you can use.
02:21 robertpeters_WLS Ah. I see the link is for Windows, thanks.
02:22 robertpeters_WLS cotto, can you elaborate?
02:23 cotto robertpeters_WLS, I'm digging to see what looks likely.  Are you familiar with sysinternals?
02:23 robertpeters_WLS No. :(
02:23 kid51 msg bacek-at_work I will probably have a version of config/auto/llvm.pm that tests for min version in a day or two.
02:23 aloha OK. I'll deliver the message.
02:24 cotto They make a number of very useful windows-specific tools for digging into internals
02:25 kid51 robertpeters_WLS: Did you try: cd your_language_directory;../parrot.exe setup.pir
02:25 robertpeters_WLS I'm surprised the solution would be that involved. I haven't done anything but a basic install! :)
02:25 robertpeters_WLS kid51: yes, but got the same error
02:25 jsut_ left #parrot
02:25 cotto process monitor and process explorer look likely
02:26 kid51 robertpeters_WLS: If it persists, this calls for filing a bug ticket in Trac.
02:26 cotto unfortunately I'm not near a windows machine (and mine at work has Strawberry Perl installed)
02:27 robertpeters_WLS Okay. Thanks, everyone. I'll try removing everything and starting over for starters. If that doesn't work, I'll poke around in sysinternals. Thanks!
02:27 plobsing robertpeters_WLS: do you have anything funny in your paths (spaces and/or non-ascii characters have given us problems in the past)?
02:27 bacek_at_work kid51, thanks!
02:27 bacek_at_work kid51, can you try to implement something like --with-llvm-config=<foo> to forcefully set used llvm?
02:28 robertpeters_WLS plobsing: no, it's c:\Users\<<username>>\Dropbox\Parrot-3.2.0
02:28 bacek_at_work luben, most important things for now is LLVM memory management and IO.
02:28 robertpeters_WLS username has no spaces or special characters.
02:28 bacek_at_work luben, items 6 and 7 from http://blog.bacek.com/2011/03/fi​nishing-of-opscllvm-branch.html
02:29 luben ok, I will work on that
02:29 bacek_at_work luben, thanks!
02:30 bacek_at_work luben, can you also set "git config branch.opsc_llvm.rebase true" to avoid merge commits?
02:30 dalek parrot/opsc_llvm: 0376785 | luben++ | runtime/parrot/library/LLVM/BasicBlock.pm:
02:30 dalek parrot/opsc_llvm: Some more BasicBlock methods
02:30 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/037678541e
02:30 kid51 bacek_at_work: Please check git status of runtime/parrot/library/LLVM.pir and runtime/parrot/library/LLVM/*.pir.  Should they be in gitignore and/or MANIFEST.generated?
02:31 kid51 Or do they need to be added to MANIFEST?
02:32 bacek_at_work kid51, they should be in .gitignore and cleaned in "make clean"
02:32 * kid51 must sleep
02:32 kid51 left #parrot
02:37 nwellnhof left #parrot
02:42 marcel_r_ joined #parrot
02:47 luben bacek, why we don't use LLVM::Opaque for LLVMMemoryBufferRef -  it is just a pointer?
02:47 marcel_r left #parrot
02:47 marcel_r_ is now known as marcel_r
02:52 robertpeters_WLS plobsing: I had Parrot installed in my users directory. When I moved it to C:\Parrot, everything now seems to be working fine.
02:52 petdance joined #parrot
02:52 robertpeters_WLS Dunno what the issue was. Thanks for your help.
02:53 bacek_at_work luben, it can probably work. I didn't have time to check it
02:53 robertpeters_WLS left #parrot
02:55 soh_cah_toa left #parrot
03:01 bacek_at_work luben, I think BasicBlock.as_value should return LLVM::Value, not BasicBlock
03:03 theory left #parrot
03:03 luben yes, my fault
03:04 bacek_at_work luben, not "a fault", just "typo" :)
03:04 luben yes , from copy/paste
03:05 dalek parrot/opsc_llvm: 0ac018a | luben++ | runtime/parrot/library/LLVM/BasicBlock.pm:
03:05 dalek parrot/opsc_llvm: fix copy/paste error
03:05 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/0ac018aea2
03:07 bacek_at_work aloha, clock?
03:07 aloha bacek_at_work: LAX: Mon, 20:07 PDT / CHI: Mon, 22:07 CDT / NYC: Mon, 23:07 EDT / UTC: Tue, 03:07 UTC / LON: Tue, 03:07 GMT / BER: Tue, 04:07 CET / TOK: Tue, 12:07 JST / SYD: Tue, 14:07 EST
03:15 theory joined #parrot
03:22 luben bacek, couldn't we hide LLVMMemoryBufferRefs. My idea is to add read/write methods in LLVM::Module, because that's what BitWriter/Reader do: they serialize and deserialize modules
03:23 atrodo neat.  doing a duckduckgo for lorito brings up my github repo
03:43 marcel_r left #parrot
03:44 cotto duckduckgo++
03:44 atrodo aloha: karma duckduckgo
03:44 aloha atrodo: duckduckgo has karma of 2.
03:44 atrodo duckduckgo++
03:44 atrodo way too low
03:48 bacek_at_work luben, go for it. Any functional solution will help.
03:49 luben I'm writing files, working on reading them back
03:50 bacek_at_work luben, excellent!
03:50 bacek_at_work luben++
03:52 bacek_at_work It can be tricky to pass pointer-to-pointer into something like LLVMGetBitcodeModule without involving pure-C.
03:52 luben just a question, do you know how to handle **char types? bitReader uses it for passing parse messages
03:53 bacek_at_work luben, in C: const char *message;LLVMFoo(&message); <do something with message>; LLVMDisposeMessage(message);
03:53 bacek_at_work in "PIR", some magic with ManagedStruct/PtrBuf.
03:54 luben I should figure out how to do it in PIR/NQP ...
04:03 bacek_at_work luben, looks like "B" is what we can use for char**
04:03 bacek_at_work t/pmc/nci.t "nci_tB" test
04:04 bacek_at_work "LLVMFooPtr *" is more... complex.
04:05 luben :) thanks, I will try
04:07 bacek_at_work luben, isn't it 3 o'clock at the morning?
04:07 luben 6 in the morning here
04:07 bacek_at_work aloha, clock?
04:07 aloha bacek_at_work: LAX: Mon, 21:07 PDT / CHI: Mon, 23:07 CDT / NYC: Tue, 00:07 EDT / UTC: Tue, 04:07 UTC / LON: Tue, 04:07 GMT / BER: Tue, 05:07 CET / TOK: Tue, 13:07 JST / SYD: Tue, 15:07 EST
04:07 hercynium left #parrot
04:08 bacek_at_work luben, oh-ho-ho.
04:09 luben :) I have slept yesterday till 19 o'clock
04:09 bacek_at_work yeah... I wish sometimes to sleep for few days.
04:10 luben haha, yes :)
04:13 bacek_at_work luben, actually you can add .load_module into LLVM_Engine. I think it will save time. We can figure out how to do it via Ptr/PtrBuf later.
04:13 bacek_at_work src/dynpmc/llvm_engine.pmc
04:14 luben ok, I will do it there, it will save time, yes )
04:14 luben :)
04:21 petdance left #parrot
04:44 ShaneC left #parrot
04:55 ShaneC joined #parrot
05:05 cotto atrodo, you around?
05:22 dalek parrot/opsc_llvm: 0998fee | bacek++ | src/dynpmc/llvm_engine.pmc:
05:22 dalek parrot/opsc_llvm: [cage] Trailing whitespace.
05:22 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/0998feef1f
05:24 kurahaupo_mobi left #parrot
05:24 kurahaupo joined #parrot
05:28 giwi joined #parrot
05:29 sjn_ is now known as sjn
05:37 luben bacek, ping
05:37 bacek_at_work luben, pong
05:38 luben I have it, write to file, read from file, execute
05:39 bacek_at_work luben, SHIP IT!
05:39 luben it is ugly but I have to go to work
05:39 bacek_at_work No worries. I'll polish it tonight.
05:40 dalek parrot/opsc_llvm: 424fb27 | luben++ | / (4 files):
05:40 dalek parrot/opsc_llvm: serialize and deserialize LLVM bitcode to files
05:40 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/424fb2791f
05:41 luben the basic problem now is that we have to create an engine in order to read bitcode
05:42 luben we could make another, very light dynpmc for purposes like these
05:42 bacek_at_work luben, it's not a big deal. We have to have to create it anyway
05:43 bacek_at_work luben, dynop is better option I think.
05:43 bacek_at_work but it will work for now.
05:43 luben yes
05:46 Psyche^ joined #parrot
05:46 Psyche^ is now known as Patterner
05:46 bacek_at_work luben++ # llvm bindings!
05:49 Drossel left #parrot
05:49 Kulag joined #parrot
05:52 tadzik duckduckgo++ # way to low indeed
05:53 tadzik they totally bought me when I tried "Star Wars Planets"
05:53 theory left #parrot
05:54 kurahaupo left #parrot
05:54 kurahaupo joined #parrot
05:59 contingencyplan left #parrot
06:09 luben left #parrot
06:14 mikehh joined #parrot
06:40 Eduardow left #parrot
06:41 dalek parrot/opsc_llvm: 203d726 | bacek++ | / (3 files):
06:41 dalek parrot/opsc_llvm: Implement function fetching and navigation
06:41 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/203d726490
06:41 dalek parrot/opsc_llvm: e0e05e1 | bacek++ | src/dynpmc/llvm_engine.pmc:
06:41 dalek parrot/opsc_llvm: Split LLVM_Engine.class_init function for initalize LLVM once only. Add empty .init. Fix memory leak in .load_module.
06:41 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/e0e05e176e
06:41 dalek parrot/opsc_llvm: d2f863f | bacek++ | src/dynpmc/llvm_engine.pmc:
06:41 dalek parrot/opsc_llvm: Fix loading of bitcode.
06:41 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/d2f863fac7
06:41 dalek parrot/opsc_llvm: 656caea | bacek++ | runtime/parrot/library/LLVM/Module.pm:
06:41 dalek parrot/opsc_llvm: Use empty LLVM_Engine to load bitcode
06:41 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/656caea22e
06:41 dalek parrot/opsc_llvm: 13d22b9 | bacek++ | src/dynpmc/llvm_engine.pmc:
06:41 dalek parrot/opsc_llvm: Rework bitcode loading slightly.
06:41 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/13d22b903f
06:41 dalek parrot/opsc_llvm: 856b74a | bacek++ | t/library/llvm/99-example.t:
06:41 dalek parrot/opsc_llvm: Fix testing loaded module.
06:41 dalek parrot/opsc_llvm:
06:41 dalek parrot/opsc_llvm: Fe have to find proper function from it to call.
06:41 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/856b74a710
06:56 kurahaupo left #parrot
06:56 kurahaupo joined #parrot
07:05 dalek Heuristic branch merge: pushed 24 commits to parrot/jit_prototype by bacek
07:05 rurban_ joined #parrot
07:07 rurban left #parrot
07:07 rurban_ is now known as rurban
07:25 cosimo left #parrot
07:28 simcop2387 left #parrot
07:29 fperrad joined #parrot
07:31 simcop2387 joined #parrot
07:53 fperrad left #parrot
08:09 mj41 joined #parrot
08:17 simcop2387_ joined #parrot
08:18 simcop2387 left #parrot
08:18 simcop2387_ is now known as simcop2387
08:21 kurahaupo left #parrot
08:26 simcop2387 left #parrot
08:36 simcop2387 joined #parrot
08:43 dalek parrot/jit_prototype: d2ecf13 | bacek++ | t/jit/test.t:
08:43 dalek parrot/jit_prototype: Actually load CUR_CTX.
08:43 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/d2ecf136c8
08:43 dalek parrot/jit_prototype: e740bad | bacek++ | t/jit/test.t:
08:43 dalek parrot/jit_prototype: Add proto for Parrot_io_printf.
08:43 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/e740bad20d
08:43 dalek parrot/jit_prototype: 73a5845 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
08:43 dalek parrot/jit_prototype: Create complex parrot's types once only.
08:43 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/73a5845806
08:43 dalek parrot/jit_prototype: a308bd8 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
08:43 dalek parrot/jit_prototype: Add * variants of parrot types.
08:43 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/a308bd8251
08:43 dalek parrot/jit_prototype: 7003a3b | bacek++ | runtime/parrot/library/LLVM/Function.pm:
08:43 dalek parrot/jit_prototype: Add Function.return_type.
08:43 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/7003a3b896
08:45 dalek parrot/opsc_llvm: 67151ce | bacek++ | runtime/parrot/library/LLVM/Type.pm:
08:45 dalek parrot/opsc_llvm: Create complex parrot's types once only.
08:45 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/67151ce904
08:45 dalek parrot/opsc_llvm: ae04e65 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
08:45 dalek parrot/opsc_llvm: Add * variants of parrot types.
08:45 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/ae04e65f3a
08:45 dalek parrot/opsc_llvm: 1738a31 | bacek++ | runtime/parrot/library/LLVM/Function.pm:
08:45 dalek parrot/opsc_llvm: Add Function.return_type.
08:45 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/1738a3173c
08:48 mtk left #parrot
08:54 mtk joined #parrot
08:59 dalek parrot/opsc_llvm: d96afc5 | bacek++ | / (2 files):
08:59 dalek parrot/opsc_llvm: Add Module type introspection.
08:59 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/d96afc573d
09:18 alin joined #parrot
09:21 dalek parrot/opsc_llvm: 4430c2e | bacek++ | / (2 files):
09:21 dalek parrot/opsc_llvm: Add Module.find_function
09:21 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/4430c2e56b
10:14 fperrad joined #parrot
10:17 woosley left #parrot
10:31 moritz fwiw a rakudo smolder submissions resulted in an internal error again
11:02 jsut_ joined #parrot
11:07 jsut left #parrot
11:08 whiteknight joined #parrot
11:12 whiteknight good morning, #parrot
11:14 moritz hello whiteknight
11:16 whiteknight left #parrot
11:16 whiteknight joined #parrot
11:56 lucian joined #parrot
11:56 ambs joined #parrot
11:57 bacek aloha, whiteknight
11:57 whiteknight hello bacek
12:23 atrodo cotto> ping
12:24 bluescreen joined #parrot
12:26 * Coke notes reviewingly that parrot installs are not relocatable.
12:26 Coke (so if you installed to parrot, and then moved to users, it wouldn't work. OP didn't say that's what happened, but something to keep in mind.)
12:40 mj41 left #parrot
12:40 lucian left #parrot
12:40 lucian joined #parrot
12:52 davidfetter joined #parrot
12:54 marcel_r joined #parrot
12:54 dalek Rosella/harness_refactor: 025117f | Whiteknight++ | src/tap_harness/ (5 files):
12:54 dalek Rosella/harness_refactor: Line is a child of TestFile, so rename it appropriately. Several other fixes and doc updates
12:54 dalek Rosella/harness_refactor: review: https://github.com/Whiteknig​ht/Rosella/commit/025117fc98
12:55 mj41 joined #parrot
12:55 mtk left #parrot
12:55 mtk joined #parrot
12:59 dalek Heuristic branch merge: pushed 17 commits to Rosella by Whiteknight
13:00 ambs left #parrot
13:00 ambs joined #parrot
13:08 woosley joined #parrot
13:15 contingencyplan joined #parrot
13:17 dalek Rosella: 0dd8c8f | Whiteknight++ | src/t (3 files):
13:17 dalek Rosella: Give TestContext a defined API for interacting with the Listeners, instead of using direct attribute access, which is troublesome from NQP. Fix a bug in the harness
13:17 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/0dd8c8f28e
13:21 giwi left #parrot
14:27 jsut joined #parrot
14:29 mtk left #parrot
14:32 jsut_ left #parrot
14:34 mtk joined #parrot
14:42 Andy_ Why am I cage cleaner?  Why do I run splint and jack up the warnings in Parrot?
14:43 Andy_ "We have fixed all the warnings in Drizzle. This is something that isn't sexy work, and the only way it is justified is because cleaning up warnings fixes bugs. If you are starting a new code base let me implore upon on you the necessity of doing this from the beginning." -- http://krow.livejournal.com/700783.html
14:48 mj41 left #parrot
14:55 plobsing left #parrot
15:06 rurban_ joined #parrot
15:09 rurban left #parrot
15:09 rurban_ is now known as rurban
15:12 mj41 joined #parrot
15:13 plobsing joined #parrot
15:14 Psyche^ joined #parrot
15:16 Patterner left #parrot
15:16 Psyche^ is now known as Patterner
15:19 davidfetter_ joined #parrot
15:23 davidfetter left #parrot
15:23 davidfetter_ is now known as davidfetter
15:52 davidfetter left #parrot
16:02 woosley left #parrot
16:05 cotto_work ~~
16:11 cotto_work atrodo: piiiiiiiiiiiiing
16:11 atrodo cotto_work> Have enough coffee this morning?  Don't think you're excited enough
16:11 cotto_work atrodo: piiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii​iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii​iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiing
16:11 cotto_work better?
16:12 atrodo Much better
16:12 cotto_work so, M0.  You had some things to say about it, didn't you?
16:13 atrodo I think so, yes
16:13 atrodo I was trying last night to figure out which questions to ask and where I could help out
16:16 atrodo but I didn't get very far
16:16 cotto_work the metadata and variables segments are pretty underdefined
16:22 atrodo variables segment inside binary represntation?
16:25 cotto_work yes
16:28 Eduardow joined #parrot
16:28 hercynium joined #parrot
16:34 mtk left #parrot
16:41 bluescreen left #parrot
16:42 mtk joined #parrot
16:45 alin left #parrot
16:49 dukeleto ~~
16:49 jsut_ joined #parrot
16:54 jsut left #parrot
17:18 bluescreen joined #parrot
17:24 mj41 left #parrot
17:24 samwho joined #parrot
17:25 samwho left #parrot
17:26 ShaneC left #parrot
17:29 dmalcolm joined #parrot
17:46 dodathome joined #parrot
17:49 alin joined #parrot
17:52 alin left #parrot
17:52 alin joined #parrot
17:54 PacoLinux_ joined #parrot
17:56 ShaneC joined #parrot
18:02 alin left #parrot
18:09 * whiteknight is actually going to be at #ps toda
18:09 whiteknight today
18:41 mj41 joined #parrot
18:51 marcel_r left #parrot
19:07 jevin joined #parrot
19:08 bluescreen left #parrot
19:17 bluescreen joined #parrot
19:27 mj41 left #parrot
19:29 bluescreen left #parrot
19:30 dalek Rosella: 9aff168 | Whiteknight++ | t/test1.t:
19:30 dalek Rosella: remove an unneeded file
19:30 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/9aff168e63
19:30 dalek Rosella: 2ae4455 | Whiteknight++ | / (6 files):
19:30 dalek Rosella: fix a big bug in TestFactory, it's a wonder it was working at all. Add tests to show that TestFactory can create subclasses of TestCase
19:30 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2ae4455ee5
19:30 dalek Rosella: 49cbdba | Whiteknight++ | src/test/TestFactory.winxed:
19:30 dalek Rosella: more cleanups, remove debugging code
19:30 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/49cbdbaa1f
19:30 dalek Rosella: c5205d7 | Whiteknight++ | t/test/TestCase.t:
19:30 dalek Rosella: more tests for TestContext
19:30 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c5205d7667
19:30 dalek Rosella: e628e4a | Whiteknight++ | / (2 files):
19:30 dalek Rosella: tests for Builder
19:30 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/e628e4a1e8
19:30 dalek Rosella: c459716 | Whiteknight++ | / (3 files):
19:30 dalek Rosella: last few tests about Test
19:30 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c459716f47
19:31 dalek Rosella: 2974daa | Whiteknight++ | t/tap_harness/ (4 files):
19:31 dalek Rosella: +stub test files for harness
19:31 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2974daa013
19:31 dalek Rosella: bde5d67 | Whiteknight++ | / (7 files):
19:31 dalek Rosella: lots of tests for tap_harness, some incomplete
19:31 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/bde5d67aed
19:31 dalek Rosella: 65ed7b6 | Whiteknight++ | t/tap_harness/TestFile/Factory.t:
19:31 dalek Rosella: + test for TestFile::Factory
19:31 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/65ed7b6481
19:35 plobsing left #parrot
19:40 plobsing joined #parrot
19:44 bluescreen joined #parrot
19:46 kid51 joined #parrot
19:53 cotto_work #ps in 35
19:55 PacoLinux_ left #parrot
19:56 alin joined #parrot
19:59 marcel_r joined #parrot
20:03 alin left #parrot
20:06 plobsing whiteknight: have you had a look at http://www.sable.mcgill.ca/mclab/ for matrixy? they appear to have some interesting ideas.
20:19 alin joined #parrot
20:20 bluescreen left #parrot
20:21 dodathome left #parrot
20:21 samwho joined #parrot
20:24 samwho left #parrot
20:25 cotto_work #ps in 5
20:28 mj41 joined #parrot
20:30 whiteknight plobsing: no I haven't seen that project yet
20:30 kid51 #parrotsketch starting
20:31 plobsing whiteknight: they claim to have a frontend, IR, VM with JIT (including what appears to be trace-based optimization), and fortran translator.
20:31 whiteknight oh, nice
20:43 whiteknight plobsing: What parts of the IMCC branchwork do you think need to be abandoned?
20:43 whiteknight I didn't think there were too many changes in there which weren't necessary
20:44 plobsing I'm not entirely sure. But anything that occurred after the incorrect GC workaround is questionable.
20:44 whiteknight which incorrect GC workaround? You mean the TT #1990 stuff?
20:45 plobsing There are a number of whiteknight/imcc* branches lying around. I'm sure we can some of that back into master.
20:45 whiteknight most of those are useless and need to be deleted
20:45 whiteknight I've just been lazy
20:45 plobsing whiteknight: yes. the TT #1990 workaround can be reduced to "turn of the GC for any program of consequence"
20:45 whiteknight none of them besides imcc_compreg_pmc are mergable
20:45 plobsing which is not an acceptable workaround
20:46 whiteknight I'm still convinced that the new PtrObj PMC I set up on that branch for the PackFile is the correct way to do
20:47 whiteknight it's just a matter of figuring out why it doesn't seem to work. I may have messed something up
20:47 plobsing but they appear to represent logically separate points on the roadmap you outlined, and it would seem to me that, at some additional cost, could be merged into master giving some of the overall benefits immediately
20:47 dalek parrot: 7c16e69 | petdance++ | src/packfile/api.c:
20:47 dalek parrot: Pass NULL instead of 0 for null pointer
20:47 dalek parrot: review: https://github.com/parrot/parrot/commit/7c16e6965d
20:47 whiteknight those branches weren't developed independently and set up to be merged. They're basically dumping grounds for me with several different parallel tasks I was working on
20:47 dalek parrot: 6e55eea | petdance++ | src/gc/gc_ms.c:
20:47 dalek parrot: gc_ms_alloc_objects() actually does modify the mem_pools argument
20:47 dalek parrot: review: https://github.com/parrot/parrot/commit/6e55eeaa02
20:47 whiteknight they are all interdependent
20:48 plobsing well they are blocking on a time sink
20:48 plobsing I'm looking to work around that
20:48 whiteknight what do you mean?
20:49 whiteknight the imcc work is blocking mostly on a lack of motivation on my part, not for any other reason
20:49 whiteknight what I need to do is get my sorry ass back into gear
20:49 plobsing the GC problem is undiagnosed. I can't seem to figure out where it goes wrong. without a diagnosis, we stand no chance of fixing it.
20:52 plobsing If you think you can get that branch in order, go ahead. I know I cannot do so at the current time, so my plans were based on what I *can* do.
20:52 whiteknight I think I can. I just need to sit down and do it
20:53 whiteknight let's set up a timeline: If I can't make real progress on that branch by this weekend, we hammer out a plan B
20:55 plobsing OK
20:55 PacoLinux left #parrot
20:55 marcel_r_ joined #parrot
21:00 marcel_r left #parrot
21:01 soh_cah_toa joined #parrot
21:01 marcel_r_ is now known as marcel_r
21:01 whiteknight plobsing: while I dig, if you want to look through the code and see if you can tease apart subsets of changes to merge, that would be fine too
21:01 whiteknight no reason we can't tackle it from both angles
21:02 soh_cah_toa marcel_r: so have you given anymore thought into what project you'd want to take on?
21:03 soh_cah_toa marcel_r: gsoc, i mean
21:03 mj41 left #parrot
21:03 marcel_r soh_cah_toa: I am really inclined to work on Python-on-Parrot.
21:03 marcel_r soh_cah_toa: What about you?
21:04 plobsing whiteknight: I'll have a look at making imcc_info_struct mergeable. If we can get that, I'm confident we can argue at least partial success on the roadmap item.
21:04 whiteknight okay, that's a good goal
21:04 bluescreen joined #parrot
21:04 soh_cah_toa marcel_r: i'm thinking i'd like to work on the debugger
21:04 whiteknight debugger is a good project idea
21:05 soh_cah_toa yeah, it seems like it's one of the projects that need the most work
21:05 whiteknight marcel_r: get in touch with allison and lucian about python. Allison is a potential mentor. Lucian is another student with a similar project idea
21:07 marcel_r whiteknight: Lucian has great ideas. I didn't have the lucky to talk to Allison here yet.
21:07 whiteknight marcel_r: yeah, she is busy.
21:08 soh_cah_toa whiteknight: what about me? is there anyone in particular i should talk to about the debugger or are you the mentor?
21:08 whiteknight soh_cah_toa: nobody in particular. Obviously nobody has been working on the debugger yet
21:08 whiteknight I suspect I'm a possible mentor for it. cotto too, maybe
21:08 lucian marcel_r: i wouldn't call them great
21:09 whiteknight lucian: than I shudder to think what your "great" ideas must be like
21:09 lucian whiteknight: :))
21:09 marcel_r :D
21:09 plobsing who mentored the parrot-instrument project last year? I'd wager they are probably the most qualified.
21:09 lucian but really, it's just what i know of compiler writing (which is very little)
21:10 whiteknight lucian: can the python-on-parrot realm support two independant GSoC projects for the summer?
21:10 whiteknight plobsing: cotto did
21:10 lucian whiteknight: i don't really know
21:10 lucian there are two main parts: compiler and object system
21:10 hudnix joined #parrot
21:11 marcel_r lucian: Do you plan to work on both parts?
21:11 lucian marcel_r: that was the plan initially
21:12 whiteknight I suspect that the two of those are too large to be done in a single summer by a single person
21:12 lucian by using the 'ast' module, the compiler ends up being rather simple
21:12 lucian only a PIR codegen would have to be written
21:12 whiteknight the object model is going to be tricky, because Parrot's current object model is actively broken
21:12 lucian whiteknight: the idea was to ignore it entirely
21:13 whiteknight lucian: right, but then you'll have to plug in your own, and the interface there isn't always pretty
21:13 whiteknight I'm just saying, there are some dragons inside Parrot that need to be killed as part of that project
21:14 lucian hmm. can pmc be written in just pir?
21:14 lucian or winxed
21:15 NotFound Targeting what? C?
21:15 marcel_r Beside compiler and object model, there are also runtime library. Built-ins, standard modules.
21:16 lucian marcel_r: i was hoping to reuse someone else's
21:16 plobsing lucian: there is no mechanism in PIR to create non-Class pmclasses. If there were, you could. But as it stands, PIR traps you in Parrot's object system.
21:16 whiteknight lucian: that gives me a great idea for a project
21:16 lucian plobsing: i see
21:17 lucian plobsing: that's sad
21:17 whiteknight a compiler that could convert a pmclass written in something like winxed into C for use in Parrot
21:17 PacoLinux joined #parrot
21:17 plobsing lucian: with enough work, you can add an op for that
21:17 whiteknight so we could remove Pmc2c, and rewrite our core PMC types in something nicer than C
21:17 plobsing Parrot's new motto "there's an op for that!"
21:17 lucian whiteknight: i've been saying that for a while
21:17 whiteknight lucian: you need to say it to me, not just to a wall somewhere
21:17 whiteknight :)
21:18 lucian heh
21:18 lucian you might've been lurking, dunno
21:18 lucian roughly what i expressed was that i'd like to see a system language (winxed or similar) to target lorito, and have *everything* written in that
21:18 NotFound I prefer to write C than trying to figure what code in other language would generate the C that I want.
21:19 NotFound That seem more reasonable.
21:19 marcel_r NotFound: I agree.
21:20 kid51 left #parrot
21:20 lucian and lorito or M0 or w/e would be a textual mapping to the bytecode parrot used (pbc?)
21:20 lucian since that's what all successful VMs do, why not?
21:21 cotto_work lucian: that's not far from the plan
21:21 lucian no what i think of it, i could implement python's object system with winxed classes, although not so efficiently
21:22 lucian cotto_work: then i must've misunderstood the plan :)
21:22 lucian i've seen a lot of focus on designing the assembly/bytecode, but none into designing the (what i believe to be vital) system langauge
21:22 whiteknight Winxed is still missing some features, like multis. It's still a hell of a great language to use for writing Parrotish stuff
21:23 NotFound lucian: that will help to know what features the parrot object system lacks.
21:23 cotto_work the plan is that once we know that M0 is viable, we'll build as much of Parrot as possible in something that compiles down to an m0 overlay
21:23 lucian right. but how do you know M0 is appropriate for that?
21:24 cotto_work turing-completeness and ffi
21:25 bluescreen left #parrot
21:25 lucian sure, but then you might as well use an existing assembly that is turing-complete and has a ffi
21:26 cotto_work (that's hyperbole, but it doesn't matter if the compiler has to generate code that'd be a pain for a human to write)
21:26 lucian no, but m0 might be at the (slightly) wrong abstraction level for efficiency
21:27 lucian looking at jvm bytecode for example, the bytecode has objects as primitives
21:28 cotto_work does java support a meta-object model though?
21:28 cotto_work er, jvm
21:28 lucian it mostly says "java objects are meta-objects"
21:35 dukeleto this looks like an interesting book: http://pragprog.com/titles/vspcon/​programming-concurrency-on-the-jvm
21:37 lucian interesting. also interesting are rich hickey's clojure talks
21:39 marcel_r left #parrot
21:46 cotto_work back
21:53 Andy_ left #parrot
21:54 allison marcel_r: I seem to be on an odd timezone at the moment
21:54 allison marcel_r: sorry to miss you so far
21:55 * allison notes I missed him again
21:56 NotFound Odd timezones are the same as even timezones with DST applied?
21:57 PerlJam NotFound: not universally.
21:58 PerlJam though I have to wonder what an "odd timezone" is  :)
21:59 cotto_work the sun
22:00 PerlJam Maybe an odd timezone is one of those that aren't an integral number of hours from UTC?
22:06 plobsing left #parrot
22:13 ambs left #parrot
22:14 bacek_at_work ~~
22:22 soh_cah_toa whiteknight: could you send me the link for parrot-instrument again? i forgot to bookmark it
22:22 whiteknight https://github.com/Whiteknight/parrot-instrument
22:22 soh_cah_toa thanks
22:24 plobsing joined #parrot
22:25 whiteknight no problems
22:27 minusnine left #parrot
22:28 soh_cah_toa so what's on the agenda for tonight's meeting? i've obviously never been to any before and am curious as to what goes on
22:30 cotto_work tonight's meeting?
22:30 cotto_work You may be disappointed if you're referring to #parrotsketch.
22:30 soh_cah_toa yeah, why?
22:31 cotto_work it happened 3 hours ago
22:31 cotto_work date --utc
22:31 soh_cah_toa whoops
22:32 cotto_work now you know
22:35 soh_cah_toa wow, what a noob mistake. i feel like a total idiot
22:36 lucian soh_cah_toa: don't feel too bad, it was a rather light meeting
22:36 Tene nah, s'fine.  Most of us have done it before.
22:36 Tene I've done it several times. :)
22:37 lucian that too
22:38 soh_cah_toa i forget that not everybody is in the eastern time zone
22:38 mtk left #parrot
22:40 * dukeleto totally forgot about #ps today
22:43 Payne joined #parrot
22:44 Payne hi anybody
22:44 whiteknight soh_cah_toa: you're eastern? Where at?
22:44 whiteknight hello Payne
22:44 Payne is here anybody from Parrot dev team?
22:45 soh_cah_toa whiteknight: new jersey
22:45 whiteknight soh_cah_toa: oh wow. I'm Philly. Where in NJ?
22:45 whiteknight Payne: we all are. Welcome to #parrot
22:45 Payne ok nice
22:46 soh_cah_toa whiteknight: north haledon. small town in passaic county
22:46 Payne I want to ask about GSoC
22:46 soh_cah_toa whiteknight: i was thinking of coming out to philly for fosscon in july
22:46 whiteknight Payne: Awesome!
22:46 soh_cah_toa payne: me too
22:47 whiteknight soh_cah_toa: Yeah, I've been thinking about going to fosscon too.
22:47 Payne I participated last year and want to p[articipate this year too
22:47 Payne I mean last year in different project
22:47 whiteknight Payne: oh really? What project did you work for last year? What kinds of things are you interested in?
22:48 Payne the question is is this first year Parrot participated in GSoC?
22:48 Payne i worked on Gephi, gaphical visualization engine written in Java
22:48 Payne addin support for Neo4j - graph database
22:48 Payne I am interested in some Java stuff
22:49 Payne and these days ANTLR seems like nice parser generator
22:49 Payne ANTLR 3.0
22:49 Payne first question is what languages uses Parrot?
22:49 Payne because on wikipedia there was C language
22:50 Payne but in some proposals there were some languages specific for Parrot
22:50 whiteknight This is the first year Parrot is doing GSoC individually
22:50 whiteknight we used to work together with the Perl Foundation
22:50 whiteknight The last few years, the Parrot Foundation and the Perl Foundation did GSoC together
22:51 Payne ok
22:51 plobsing left #parrot
22:51 whiteknight Payne: Perl6 is primarily on Parrot right now. We have other compilers too. Cardinal is a Ruby compiler, Pynie is a Python compiler, Partcl is a TCL compiler
22:53 Tene I've been so busy with work lately... I really need to carve out some time for cardinal.
22:53 soh_cah_toa payne: i'm a student too. if you look at the parrot gsoc wiki there are some projects that need java developers. http://trac.parrot.org/parrot/wiki/GSoc2011
22:53 Tene If I can get the metamodel working well, it will unblock a lot of other work.
22:55 Payne soh_cah_toa: really?
22:55 whiteknight Tene: is metamodel work something that could could, or would want to, pawn off onto a GSoC student?
22:55 Payne soh_cah_toa: I saw just one project
22:56 Payne on java
22:56 soh_cah_toa payne: yeah, take a look
22:56 whiteknight Payne: that's not a limited list, it's just ideas. You can propose other projects too if you want
22:57 Tene whiteknight: Possibly.  I don't know what's appropriate or not for gsoc.
22:57 whiteknight Payne: Anything in particular you're interested? Something Java related?
22:57 Payne I saw the Java project
22:57 Payne but I am completely new to Parrot
22:57 Payne so what does it mean to implement support for Java?
22:58 kid51 joined #parrot
22:58 Payne can you point me to some article, or write in in general?
22:58 soh_cah_toa payne: me too but i've found it very easy to learn. plenty of documentation
22:58 Payne and the language implementation have to be done in what language?
22:58 Payne perl?
22:59 Payne I mean the result of project will be java implementation, but in what language?
22:59 whiteknight Payne: let me look
22:59 whiteknight Payne: ah, we want a Java compiler which targets Parrot
22:59 Payne which means?
22:59 Payne sorry for stupid questions
22:59 whiteknight a "normal" java compiler would compile Java syntax down into java bytecode to run on the JVM
23:00 whiteknight we want a compiler which could compile Java down to Parrot bytecode instead, and run on Parrot
23:00 Payne ok clear enough
23:00 whiteknight Payne: so there are a lot of options. You could write the compiler in one of our low-level languages (NQP, Winxed, PIR)
23:00 whiteknight or, you could write the compiler in something you like, like Java. Then bootstrap
23:01 whiteknight think about how a C compiler is written in C
23:01 Payne hm
23:01 whiteknight Payne: or, you could find an existing Java compiler, and create a Parrot backend to emit Parrot code instead of JVM code
23:01 whiteknight lots of options, you get to pick what you think is best
23:02 whiteknight the important part is this: I want to write Java code, and run it on Parrot
23:02 whiteknight because then I can use Java libraries from Perl6, or vice-versa
23:02 dmalcolm left #parrot
23:03 Payne I made some very quick investigation and the languages don't seem like different ones
23:03 whiteknight what languages?
23:03 Payne is this true, or just seems to?
23:03 Payne NQP, Winxed, PIR
23:04 plobsing joined #parrot
23:04 whiteknight NQP is a subset of Perl6. Winxed is similar to JavaScript. PIR is like assembly languge for Parrot
23:04 whiteknight they are all similar scope (low-level), but very different syntax)
23:06 rurban_ joined #parrot
23:06 whiteknight and like I said, you can use any other language you want
23:06 whiteknight hell, write a Java compiler in Ruby if you want
23:06 whiteknight or JavaScript
23:06 whiteknight or Java
23:06 whiteknight or, use an existing compiler
23:09 rurban left #parrot
23:09 rurban_ is now known as rurban
23:10 Payne hm seems interesting, but I dont have much experience with implementing compilers like you write
23:10 Payne and what about the ANTLR project?
23:11 Payne maybe I shoudl first ask this question
23:11 plobsing there is a preference for something that is eventually parrot-hosted; either using a language that already works on Parrot, or bootstrapping $LANG in $LANG. But this is just a preference, not a rule.
23:12 Payne what are the requirements on students?
23:12 Payne are there a need to have practical experience with compiler design or implementation?
23:12 Payne or something else?
23:13 whiteknight Payne: practical experience is not needed, but it's nice if you're familiar with the theory of whatever you are working on
23:13 whiteknight a code generator backend for a compiler does not need much theory
23:13 whiteknight the ANTLR backend doesn't need much theory. All the hard work is done by ANTLER
23:13 whiteknight ANTLR
23:13 plobsing Payne: IIUC, google's objective for GSoC is to get students into programming. From that perspective, experience is of neutral to negative value.
23:14 Payne ok definitely interested in Parrot, what documentation should I read to get more familiar with the concepts? maybe some high level description will be nice form the beginning
23:15 soh_cah_toa payne: there's lots of docs when you compile parrot
23:15 whiteknight Payne: the files in docs/pdds/ are the design documents
23:16 soh_cah_toa payne: also see docs.parrot.org
23:17 soh_cah_toa payne: i've been reading that non-stop for the past few days and i already feel pretty comfortable with parrot
23:17 lucian Payne: i would suggest you take an existing java compiler and change the backend to target parrot
23:18 lucian Payne: think of parrot as the jvm, but more dynamic (and 10 years less mature)
23:18 plobsing lucian: but we've got DaVinci already
23:18 lucian plobsing: sure, but davinci doesn't let languages get away without interpretation
23:18 lucian s/without/with not doing/
23:18 cognominal left #parrot
23:19 lucian plobsing: that's parrot's only real advantage
23:19 lucian (offtopic - oddly enough the jvm object system (not java's) is more dynamic than parrot's Object)
23:19 plobsing only real current advantage.
23:19 lucian i doubt it'll ever be faster
23:20 hercynium left #parrot
23:20 lucian the other potential advantage is running more languages, and with better interop than on the jvm
23:20 lucian re faster, perhaps it'll be faster if the luajit guy takes an interest :)
23:21 Payne soh_cah_toa : you participated last year too?
23:21 soh_cah_toa payne: no, this is my first gsoc
23:22 plobsing lucian: there are other aspects than speed. as for speed, we could make changes to get dynamic languages faster than on the JVM (eg: hintable JIT).
23:22 cognominal joined #parrot
23:22 lucian plobsing: sure there are, if that's all i cared about i wouldn't be here. or using python
23:23 lucian i sort of doubt a dynamic lang jit will beat java's jit any time soon
23:23 lucian running java, not a dynamic language that is
23:24 Tene I'd really love to spend a month or so hacking on 6model and getting it finished and imported into parrot core, etc.
23:25 Payne ok thanks for useful information
23:25 Payne see you
23:25 soh_cah_toa payne: bye
23:25 Payne soh_cah_toa: and your interest<
23:25 Payne ?
23:25 soh_cah_toa payne: what do you mean?
23:26 lucian Payne: btw, harmony have been looking into language agnostic vms apparently
23:26 lucian they might be interested in java-on-parrot
23:26 lucian ^ apache harmony
23:26 * plobsing would also like to see a JS-Harmony-on-Parrot
23:27 lucian it would be awesome if harmony picked parrot as their main target
23:27 soh_cah_toa Payne: you mean which project i'd like to do?
23:27 Payne soh_cah_toa: in parrot I mean what kind of project
23:28 soh_cah_toa Payne: the parrot debugger. apparently, it needs a lot of work
23:28 plobsing lucian: probable not going to happen. they'd likely want some changes we'd be unlikely to want.
23:28 Payne lucian: any further information about harmony and parrot cooperation?
23:28 lucian plobsing: yeah, it's not quite realistic
23:29 Payne ok good to know
23:29 lucian Payne: http://www.infoq.com/news/2011/03/apache-harmony it's interesting to read the ml threads it links to
23:29 lucian i mean it's realistic to implement java on parrot
23:30 lucian but it's not realistic that apache harmony will target parrot primarily
23:32 Payne ok thanks for fast responses, most IRC I already connected were dead
23:32 dalek parrot/opsc_llvm: 9a0e222 | jkeenan++ | / (5 files):
23:32 dalek parrot/opsc_llvm: Add generated files to .gitignore and MANIFEST.generated.  Re-run mk_manifest_and_skip.pl.  Add files as needed to FLUID_FILES_2 target in config/gen/makefiles/root.in.
23:32 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/9a0e222cf4
23:32 Payne nice to see difference
23:33 Payne I must go, see you all
23:33 Payne left #parrot
23:36 samwho joined #parrot
23:36 samwho left #parrot
23:38 cosimo joined #parrot
23:53 bubaflub joined #parrot
23:54 plobsing left #parrot
23:56 fperrad left #parrot
23:57 plobsing joined #parrot

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

Parrot | source cross referenced