Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 * kid51 fixes a Makefile dependency in that branch
00:00 * kid51 runs make test
00:00 whiteknight I hate debugging these regex-related test failures
00:01 whiteknight it's so hard to see why something doesn't match, especially if its a big string to match
00:01 bubaflub joined #parrot
00:03 nopaste "kid51" at 192.168.1.3 pasted "First, we have to fix uninitialized value warnings" (83 lines) at http://nopaste.snit.ch/68765
00:05 bluescreen joined #parrot
00:05 soh_cah_toa kid51: alright, that does look nicer. i want to get these tests passing first then i'll apply that patch
00:06 dalek parrot/soh-cah-toa/hbdb: ac2fefa | Whiteknight++ | / (2 files):
00:06 dalek parrot/soh-cah-toa/hbdb: Fix second test, it's a whitespace issue that we need to get around
00:06 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/ac2fefae2c
00:06 PacoLinux_ joined #parrot
00:09 whiteknight is there a way to tell the regex to ignore whitespace?
00:09 nopaste "kid51" at 192.168.1.3 pasted "Use a block rather than a sub. Start new debugger in each block. Fix Makefile dependency. Use Makefile variables." (86 lines) at http://nopaste.snit.ch/68766
00:10 soh_cah_toa whiteknight: the /i modifier
00:10 soh_cah_toa agh, no
00:10 soh_cah_toa not that
00:10 kid51 No, that's for case-insensitivity
00:10 soh_cah_toa the /x modifier
00:11 kid51 the /x enables you to put whitespace into a regex for readability
00:11 soh_cah_toa yeah
00:11 kid51 it doesn't pertain to the whitespace in the string being matched
00:11 kid51 Are you using /s for multiline matching?
00:12 soh_cah_toa whiteknight: ignore whitespace in the regex or the string to match against?
00:13 kid51 soh_cah_toa: if you can apply 68766, then we can all be working from the same starting point
00:13 soh_cah_toa sure
00:19 whiteknight we need to ignore whitespace in the string
00:20 whiteknight because line 2 is coming out as "2\t", not "2"
00:20 whiteknight same with line 10
00:20 soh_cah_toa ah, that's different
00:24 whiteknight unfortunately, my editor removes trailing whitespace when I save a file, so it's very hard for me to fix that one
00:26 dalek parrot/soh-cah-toa/hbdb: 1d4e6db | soh_cah_toa++ | / (2 files):
00:26 dalek parrot/soh-cah-toa/hbdb: Applied patch from kid51++ so all tests pass.
00:26 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/1d4e6db44d
00:26 soh_cah_toa kid51: wow, that fixed it
00:27 soh_cah_toa i forgot that entering a command also enters 'quit' so having a global instance of hbdb won't work but one local to each block does
00:28 cotto_work soh_cah_toa: I'm not sure why you'd want an implicit quit.
00:28 soh_cah_toa b/c eof causes crash
00:29 cotto_work Eventually you'll want to test running more than one command.
00:29 Kulag joined #parrot
00:29 soh_cah_toa yeah but then all the output will be there
00:29 soh_cah_toa from every command
00:29 cotto_work how so?
00:30 soh_cah_toa typing 'help' then test will pass but then typing 'list' won't b/c it will have output from 'help' *and* 'list'
00:30 cotto_work what about typing one command, getting the output, typing another command, getting the new output, etc
00:31 soh_cah_toa i don't know if IPC::Open3 can let me do that
00:31 cotto_work I'd be surprised.  I'll play with it tonight.
00:31 soh_cah_toa ok
00:31 cotto_work (be surprised if it couldn't)
00:32 soh_cah_toa at least they pass for now
00:32 cotto_work that's valuable
00:32 soh_cah_toa now i can get some more done and then start designing watchpoints
00:32 soh_cah_toa which i'm clueless about :\
00:41 Kulag joined #parrot
00:56 dalek rakudo/nom: 40aa6d5 | Coke++ | t/spectest.data:
00:56 dalek rakudo/nom: run more tests, track failure modes.
00:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/40aa6d525e
01:03 GodFather joined #parrot
01:04 Kulag joined #parrot
01:07 jsut joined #parrot
01:10 kid51_at_dinner soh_cah_toa: Since the copyright line will change over time, this line:
01:10 kid51_at_dinner Copyright \(C\) 2001-2011, Parrot Foundation
01:10 kid51_at_dinner ... is too restrictive
01:11 kid51 next if $input_text =~ m|Copyright \(C\) 2001-2011, Parrot Foundation\.|;
01:11 kid51 probably something like m|Copyright.*?Parrot Foundation\.| would suffice
01:12 kid51 Uh-oh, build failure
01:12 cotto_work kid51: he'll fix it by next year. ;)
01:13 kid51 my mistake
01:17 whiteknight actually, it's a cultural fix, not a technical one. Let's just dissolve the copyright
01:17 dalek parrot/soh-cah-toa/hbdb: c9bf066 | jkeenan++ | config/gen/makefiles/root.in:
01:17 dalek parrot/soh-cah-toa/hbdb: Correct incorrect variable substitution.
01:17 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/c9bf066498
01:20 kid51 Wait a minute; I'm still getting test failures.
01:21 kid51 http://smolder.parrot.org/app/​projects/report_details/20414
01:21 kid51 I thought soh_cah_toa said he got all tests to pass
01:22 dalek rakudo/nom: 0b11319 | Coke++ | t/spectest.data:
01:22 dalek rakudo/nom: track failure mode
01:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b11319464
01:22 kid51 My branch is up-to-date, but still failing tests 2 and 3
01:23 nopaste "kid51" at 192.168.1.3 pasted "Still failing tests 2 and 3 in t/tools/hbdb/cmds.t." (75 lines) at http://nopaste.snit.ch/68813
01:32 woosley joined #parrot
01:34 contingencyplan joined #parrot
01:48 dalek lalrskate: 10b3251 | tcurtis++ | / (3 files):
01:48 dalek lalrskate: Add failing test for eliminating epsilon transitions.
01:48 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/10b3251260
01:48 dalek lalrskate: 6b6e6c9 | tcurtis++ | t/eliminate-epsilon-transitions.t:
01:48 dalek lalrskate: Fix test bug.
01:48 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/6b6e6c94e6
01:48 dalek lalrskate: 079bb38 | tcurtis++ | src/LALR/Generator/Eliminat​eEpsilonTransitions.winxed:
01:48 dalek lalrskate: Implement epsilon transition elimination.
01:48 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/079bb38eae
01:48 dalek lalrskate: cabdaea | tcurtis++ | src/LALR/Generator.winxed:
01:48 dalek lalrskate: Make LALR.Generator.generate do epsilon transition elimination early.
01:48 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/cabdaea90a
01:48 dalek lalrskate: 7d5f406 | tcurtis++ | src/LALR/ (2 files):
01:48 dalek lalrskate: Add pushing states.
01:48 dalek lalrskate: review: https://github.com/ekiru/l​alrskate/commit/7d5f406c68
01:54 nopaste "kid51" at 192.168.1.3 pasted "Get closer by sampling the expected output of help command." (78 lines) at http://nopaste.snit.ch/68820
01:56 kid51 msg soh_cah_toa: For reasons I don't yet understand, your testing methods are not picking up the first line of expected output. Paste 68820 shows how you can sample the expected output -- but the 'header' line (i.e., the first line) is not yet being seen.
01:56 aloha OK. I'll deliver the message.
02:17 PacoLinux_ joined #parrot
02:29 cotto ~~
02:34 dalek parrot: 061f5b0 | jkeenan++ | config/gen/makefiles/root.in:
02:34 dalek parrot: The Makefile variable representing parrot-prove should have a more accurate name, so as not to suggest that it is representing Perl 5's prove.
02:34 dalek parrot: review: https://github.com/parrot/parrot/commit/061f5b0c26
02:36 kid51 cotto: In hbdb branch, for 'make hbdb_tests' you probably want Perl 5's prove rather than parrot-prove.  The tests are in Perl 5.  And parrot-prove is only built by 'make world', not by plain 'make'.
02:37 kid51 I stumbled there, which is what led me to most recent commit in master.
02:40 cotto kid51, yes
02:44 rdesfo joined #parrot
02:44 theory joined #parrot
02:46 dalek parrot/soh-cah-toa/hbdb: 3c76608 | cotto++ | config/gen/makefiles/root.in:
02:46 dalek parrot/soh-cah-toa/hbdb: fix hbdb_tests
02:46 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/3c76608793
02:56 jevin joined #parrot
02:56 rdesfo joined #parrot
02:56 rdesfo left #parrot
03:28 Kulag joined #parrot
03:38 Kulag joined #parrot
04:16 daniel-s joined #parrot
04:44 dalek rakudo/nom: 5e2c0fb | moritz++ | src/core/ (4 files):
04:44 dalek rakudo/nom: Merge pull request #35 from kboga/multi-Numeric
04:44 dalek rakudo/nom:
04:44 dalek rakudo/nom: make .Numeric methods multis with defined invocant
04:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e2c0fb0c7
04:49 dalek rakudo/nom: 2bbc998 | moritz++ | src/core/List.pm:
04:49 dalek rakudo/nom: Merge pull request #38 from ruz/nom-list-rotate
04:49 dalek rakudo/nom:
04:49 dalek rakudo/nom: List.rotate
04:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bbc998368
04:58 dukeleto moritz: so rakudo is using pull requests now? I remember the days when only squashed+emailed patches were required ;)
05:02 moritz dukeleto: well, if that's what people submit, I'm happy to apply them :-)
05:03 moritz dukeleto: our official policy is still to submit to rt though
05:04 dukeleto moritz: well, at least you are sane :)
05:04 dukeleto moritz: i find using RT to be like chewing sandpaper
05:05 moritz I've seen worse
05:05 moritz at least one can reply by email
05:05 SHODAN joined #parrot
05:06 dukeleto trac-- is just as sandy
05:07 theory joined #parrot
05:10 moritz dukeleto: if it weren't for some access control decisions, I'd love to have the tickets stored in the repo somehow
05:14 dalek rakudo/nom: 69b7e56 | moritz++ | t/spectest.data:
05:14 dalek rakudo/nom: three more passing test files
05:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69b7e56137
05:43 mj41 joined #parrot
05:53 dalek parrot/m0-prototype: 02c3abe | nbrown++ | src/m0/c/m0_mob.c:
05:53 dalek parrot/m0-prototype: initialize chunk->next to NULL and set interp->last if there is only one chunk
05:53 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/02c3abe607
05:53 dalek parrot/m0-prototype: 4d5be65 | nbrown++ | src/m0/c/include/m0_ops.h:
05:53 dalek parrot/m0-prototype: Add set_byte, get_byte, set_word and get_word to the M0_OPS enum
05:53 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/4d5be657c5
05:53 dalek parrot/m0-prototype: 04a055e | nbrown++ | src/m0/c/m0_mob.c:
05:53 dalek parrot/m0-prototype: Add string constant loading to parse_mob_constants_segment
05:53 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/04a055ec06
05:53 dalek parrot/m0-prototype: b2bf853 | dukeleto++ | src/m0/c/ (2 files):
05:53 dalek parrot/m0-prototype: Merge pull request #150 from nbrown/m0-prototype-c-hello-world
05:53 dalek parrot/m0-prototype:
05:53 dalek parrot/m0-prototype: M0 prototype c hello world
05:53 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/b2bf853a9d
06:02 dalek rakudo/nom: e658f0d | moritz++ | / (2 files):
06:02 dalek rakudo/nom: run type-based.t, fix an unrelated thinko
06:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e658f0d407
06:15 dalek rakudo/nom: f373c17 | moritz++ | t/spectest.data:
06:15 dalek rakudo/nom: two more test files
06:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f373c175df
07:08 fperrad joined #parrot
07:27 PacoLinux_ joined #parrot
07:32 dalek rakudo/nom: 190f28d | moritz++ | src/core/metaops.pm:
07:32 dalek rakudo/nom: implement chaining reduce metaop
07:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/190f28da9c
07:37 dalek rakudo/nom: c0ac660 | moritz++ | t/spectest.data:
07:37 dalek rakudo/nom: run reduce.t
07:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c0ac660096
07:47 mj41 joined #parrot
08:01 lucian joined #parrot
08:07 tadzik hello #parrots
08:07 tadzik aloha, going to YAPC::EU is also tadzik
08:07 aloha tadzik: Okay.
08:17 cotto msg soh_cah_toa I didn't get anywhere trying to make Test::HBDB amenable to testing multiple commands per session.  It'll eventually be necessary, but writing more tests is the priority atm.
08:17 aloha OK. I'll deliver the message.
08:57 dalek parrot/soh-cah-toa/hbdb: 745f1c3 | jkeenan++ | / (2 files):
08:57 dalek parrot/soh-cah-toa/hbdb: Add frontend/parrot_debugger/main.o to .gitignore and appropriate 'clean' target.
08:57 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/745f1c3f85
09:24 lucian joined #parrot
09:28 not_gerd joined #parrot
09:31 not_gerd cotto: do you have time for some questions about m0?
09:33 kid51 joined #parrot
09:37 cosimo joined #parrot
10:15 particle joined #parrot
10:29 dalek rakudo/nom: c61a8d5 | moritz++ | / (2 files):
10:29 dalek rakudo/nom: fix radcalc, generate errors with line numbers, run tests
10:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c61a8d53ce
10:48 Kulag joined #parrot
11:21 Kulag joined #parrot
11:30 not_gerd joined #parrot
11:33 dalek rakudo/nom: 083287a | tadzik++ | / (2 files):
11:33 dalek rakudo/nom: Small tunes in Pod::To::Text, sanitize newline handling, interpret package declarators correctly
11:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/083287a069
11:37 lucian joined #parrot
12:02 woosley left #parrot
12:06 rdesfo joined #parrot
12:08 whiteknight joined #parrot
12:19 whiteknight good morning, #parrot
12:20 dafrito joined #parrot
12:23 woosley joined #parrot
12:37 dalek rakudo/nom: 62bd6a7 | tadzik++ | src/Perl6/Grammar.pm:
12:37 dalek rakudo/nom: Allow colonpairs to appear after Pod block declarations
12:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62bd6a75f5
12:37 dalek rakudo/nom: 77c62ce | tadzik++ | lib/Pod/To/Text.pm:
12:37 dalek rakudo/nom: [Pod::To::Text] Generate proper output for Tables and Comments, fix output for Named blocks
12:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/77c62ce554
12:39 atrodo =~
12:40 whiteknight hello atrodo
12:43 SHODAN joined #parrot
12:47 bubaflub ~
12:49 atrodo Morning whiteknight, see any good houses lately?
13:03 whiteknight atrodo: several, actually.
13:03 atrodo whiteknight> Excellent.  Good to hear
13:03 whiteknight We started looking in an area which doesn't have basements, typically. 90% of the houses we had been seeing with basements had severe water, mold, and structural issues
13:04 whiteknight so cutting that right out of our search criteria brings up the average quality of the houses we see dramatically
13:04 atrodo whiteknight> Ya, that's not good.  Basements are good, but not when they're a liablity
13:04 whiteknight right. Good for storage and all, but I would be just as happy not to have piles of crap that needs storing
13:05 atrodo And actually, when we looked for our house several years ago, the houses without a basement were the ones that were cheaper and in worse shape
13:05 whiteknight the philadelphia area as a lot of historical roots, so it's extremely common to see houses with stone basements, stone foundations, extremely old houses, etc
13:05 atrodo But that's probably an area differance
13:06 whiteknight nicer, newer homes in the area tend to be way out of our price range
13:06 atrodo Right.  The areas we looked at were build more in the middle of last century.
13:09 whiteknight overall, it was a good century for houses
13:23 bluescreen joined #parrot
13:23 bubaflub whiteknight: that's good.  we moved into an old house (built late 1800s) that was completely redone in 2000 - best of both worlds
13:29 whiteknight bubaflub: oh, nice
13:34 not_gerd parrot compiles under msys (ie I've got a parrot.exe), but make fails with http://paste.pocoo.org/show/p6oY8KjgG7QpGSZbR8kP/
13:34 not_gerd any ideas how to fix that?
13:38 whiteknight good morning, not_gerd?
13:38 not_gerd good morning, whiteknight
13:38 whiteknight that's a strange error. is it new?
13:39 not_gerd I had to fix /config/auto/arch.pm to make it configure, so I'm guessing that Parrot hasn't been working on msys for some time
13:40 whiteknight okay
13:40 whiteknight I don't have msys here, so I'm not able to test it
13:40 not_gerd I suspect the unix-style msys paths somehow mess up file lookup
13:41 not_gerd line 197 which probably fails is .include "interpinfo.pasm"
13:41 whiteknight so that should be in /runtime/parrot/include/interpinfo.pasm
13:42 whiteknight check out your config hash, see if that's in there for include_path, or whatever the variable is called
13:44 not_gerd how would I do that (I'm new to parrot, ie my name is _not_ Gerd Pokorra)
13:45 whiteknight okay, parrot_config --dump | grep "include"
13:45 whiteknight that will probably spit out way too much information
13:45 whiteknight hold on, let me look up the real name of the key
13:46 rdesfo joined #parrot
13:48 dalek rakudo/nom: 67f3c06 | moritz++ | src/Perl6/Actions.pm:
13:48 dalek rakudo/nom: improve a NYI error message
13:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67f3c06a10
13:48 whiteknight not_gerd: try "parrot_config build_dir"
13:48 whiteknight because the include path is at ${parrot_config build_dir}/runtime/parrot/include
13:49 not_gerd next problem: I can't build parrot_config.exe - see http://paste.pocoo.org/show/pOWf9FPwF8krKnaW4ep0/ for the errors I get
13:51 whiteknight oh wow
13:51 whiteknight okay, so Parrot is *really* broken on msys
13:52 whiteknight not_gerd: What are you using exactly, cygwin?
13:53 whiteknight or just vanilla msys?
13:53 not_gerd vanilla msys
13:54 whiteknight and I assume you have mingw mounted normally and all?
13:55 not_gerd well, I made msys and mingw share a root directory, but yes, mingw is mounted as /mingw
13:55 not_gerd but I don't see where the line that fails links against libparrot
13:55 contingencyplan joined #parrot
13:55 dalek rakudo/nom: 769ae7d | tadzik++ | / (2 files):
13:55 dalek rakudo/nom: Disallow closing delimiters indented more than opening delimiters
13:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/769ae7d0af
13:57 whiteknight What perl version does it use?
13:57 not_gerd 5.8.8 is the most recent available on Msys
13:58 not_gerd was 5.6.? not so long ago
13:58 whiteknight I have msys-git here, but that's missing a lot of stuff
13:59 not_gerd I did it the other way around: installed msys first, then built msys-git from source
14:01 whiteknight ok
14:01 not_gerd is there a make target for a parrot.dll?
14:02 whiteknight I'm sure there is, I don't know if off hand
14:02 whiteknight make help
14:03 not_gerd found it
14:15 whiteknight not_gerd: I have msys installed here now, though I'm still picking through configuration
14:16 whiteknight not_gerd: what fix did you make to config/auto/arch.pm?
14:16 cosimo joined #parrot
14:17 davidfetter joined #parrot
14:18 not_gerd whiteknight: patch to correctly identify msys: http://paste.pocoo.org/show/KBJOcXsZkMa1skCwTeG6/
14:18 not_gerd are you on 64 bit hardware?
14:18 whiteknight yes
14:19 not_gerd did you use mingw-w64 or mingw32?
14:20 whiteknight mingw32 I guess
14:21 not_gerd then my patch might not work correctly depending on how exactly the build system uses the cpuarch info
14:22 not_gerd your system should identify as amd64, but you'll use a 32-bit compiler
14:22 not_gerd don't know if this will blow up or nor
14:23 whiteknight okay, I'll play with it
14:26 whiteknight I can't even get the thing to configure. I probably won't be much help for you
14:27 not_gerd what's your perl version?
14:27 not_gerd 5.8.8 might not be installed by default
14:29 whiteknight it says 5.12.2
14:30 not_gerd there's no perl 5.12 for msys that I know o
14:30 not_gerd should be something like "This is perl, v5.8.8 built for msys-64int"
14:30 whiteknight oh wait, it's reading a different perl install from my path
14:31 not_gerd are you within the msys shell or windows command line?
14:31 whiteknight I'm in msys
14:32 whiteknight I can't find a perl binary in here
14:33 M_o_C joined #parrot
14:33 not_gerd if it's not installed, try 'mingw-get install msys-perl'
14:34 whiteknight not_gerd: Is there any particular reason you're using msys instead of something else?
14:35 dalek rakudo/nom: 04a9e65 | Coke++ | t/spectest.data:
14:35 dalek rakudo/nom: run more tests, track failure modes
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/04a9e654e5
14:36 not_gerd it's what I use for my own C coding
14:36 whiteknight okay
14:37 not_gerd I could probably install strawberry perl, but that would just pull in another copy of mingw
14:38 whiteknight no, you should be able to use whatever you are comfortable with
14:39 whiteknight okay, I installed msys-perl and it doesn't work. When I run that, it hangs
14:39 not_gerd that's... not good ;)
14:39 whiteknight I'm starting to suspect that I will not be able to help you get parrot working here
14:39 whiteknight sorry
14:40 not_gerd that's why I don't like automated build systems
14:40 not_gerd when they work, it's great, but when not...
14:43 whiteknight not_gerd: I *suspect* that we're going to need to add a directory in src/platform/ for msys
14:44 whiteknight not_gerd can you pocoo the contents of your src/dynpmc/os.c file?
14:45 not_gerd sure, but it's a liker error - someon'e not getting a $(ALL_PARROT_LIBS) in the makefile, I supect
14:46 whiteknight yeah, that's probably true
14:46 not_gerd os.c: http://paste.pocoo.org/show/Tkdm2GkwjlYjW0eYNqz8/
14:46 not_gerd (the parrot_config issue, that is)
14:48 whiteknight I don't see anything obvious in the makefile
14:50 not_gerd what actually fails is make runtime/parrot/dynext/os.dll
14:52 whiteknight right
14:52 whiteknight It looks to me like it's including the right arguments
14:53 p6eval joined #parrot
14:54 not_gerd it seems to only pass $(LINKARGS) where it should pass $(LINKARGS) $(ALL_PARROT_LIBS)
14:54 not_gerd but I'm failing to find the actual rule within the makefile...
14:55 whiteknight I think $(ALL_PARROT_LIBS) should be part of $(LINKARGS)
14:55 whiteknight src/dynpmc/Rules.in
14:56 not_gerd manually adding LINKARGS += $(ALL_PARROT_LIBS) gets me further down the line
14:56 whiteknight ok
14:57 not_gerd can't build parrot_config.exe for the same reason, though: ./parrot.exe -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir
14:57 not_gerd error:imcc:No such file or directory
14:58 not_gerd where is the raw config data stored?
14:59 PacoLinux_ joined #parrot
14:59 whiteknight the config hash is dumped out to a file. config.pir or something?
14:59 not_gerd config_lib.pir
15:00 whiteknight that's it
15:01 bluescreen joined #parrot
15:18 not_gerd next problem: ./parrot.exe pbc_to_exe.pbc pbc_to_exe.pbc
15:18 not_gerd src/string/api.c:653: failed assertion 'encoding'
15:20 NotFound joined #parrot
15:20 NotFound Hi
15:20 whiteknight good morning, NotFound?
15:21 whiteknight ...that wasn't a question
15:21 dmalcolm joined #parrot
15:22 NotFound Anyway, yes
15:28 not_gerd backtrace of that failure, if someone wants to investigate: http://paste.pocoo.org/show/PXmxM7oR3eqXYVycJE8a/
15:31 dalek rakudo/nom: e8e3340 | tadzik++ | src/Perl6/Grammar.pm:
15:31 dalek rakudo/nom: Fix handling colonpairs in Pod directives. Makes us fully parse S26
15:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8e334066c
15:36 nbrown joined #parrot
15:43 dukeleto ~~
15:44 tadzik ~~
15:49 dukeleto Waking up to 19 emails in your inbox does not bode well.
15:51 bubaflub dukeleto: but think of how many times you can refinance your mortgage!
15:53 dukeleto bubaflub: spam would have been nice. Sadly, they were all $work related
15:54 bubaflub dukeleto: ah.  today i told my team lead that my bug queue was getting a bit empty.  he said he'd assign me a few things.  check my email a few minutes later i've got 13 new emails.
16:00 dalek rakudo/nom: 90e9c38 | tadzik++ | lib/Pod/To/Text.pm:
16:00 dalek rakudo/nom: Couple of more fixes to make the output generated from S26 more pleasant to read
16:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/90e9c387f9
16:03 theory joined #parrot
16:04 rdesfo joined #parrot
16:17 cotto ~~
16:18 dalek parrot: f3351c3 | (Dan Bolser)++ | docs/project/git_workflow.pod:
16:18 dalek parrot: Isn't it cleaner (and also backwards compatible) to recommend:
16:18 dalek parrot:   git checkout -t origin/username/foo
16:18 dalek parrot:
16:18 dalek parrot: Instead of what you have currently, which is:
16:18 dalek parrot:   git checkout -b username/foo origin/username/foo
16:18 dalek parrot:
16:18 dalek parrot: Sorry if I'm being ignorant, but the former was recommended to me in irc.freenode.net/#git so I thought I'd pass it along.
16:18 dalek parrot: review: https://github.com/parrot/parrot/commit/f3351c3b41
16:18 dalek parrot: f3533be | cotto++ | docs/project/git_workflow.pod:
16:18 dalek parrot: Merge pull request #151 from dbolser/patch-2
16:18 dalek parrot:
16:18 dalek parrot: Isn't it cleaner (and also backwards compatible) to recommend:
16:18 dalek parrot: review: https://github.com/parrot/parrot/commit/f3533bed91
16:26 whiteknight I get more than 19 emails most mornings
16:27 whiteknight and it never bodes well
16:33 darbelo joined #parrot
16:47 not_gerd whiteknight: is there something special I need to do to get a parrot executable with debugging symbols or is that yet another side-effect of using msys?
16:53 whiteknight not_gerd: debugging symbols should be the default, I think
16:53 whiteknight they get turned off if you configure with --optimize
16:53 whiteknight or maybe there is another flag for it
16:53 whiteknight run perl Configure.pl --help to see options
16:57 dukeleto not_gerd: perl Configure.pl --ccflags=-g
17:03 dalek rakudo/nom: c33f355 | (Solomon Foster)++ | src/core/R (2 files):
17:03 dalek rakudo/nom: Add Real.Rat with optional tolerance and optional tolerance to Rat.Rat.
17:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c33f355a54
17:13 cosimo joined #parrot
17:15 not_gerd dukeleto: didn't help
17:15 not_gerd I only get debugging info from the dynext dlls, not parrot.exe
17:18 cotto_work ~~
17:28 davidfetter joined #parrot
17:36 mj41 joined #parrot
17:39 lucian joined #parrot
17:46 rohit_nsit08 joined #parrot
17:47 dukeleto not_gerd: i am a unixy guy, not sure how that all works out in other OS's. Perhaps you need cppflags?
17:47 dukeleto Continental just told me my confirmation number is "null". Sounds like they need some unit tests.
17:48 dukeleto For peeps that want to learn about "the spidermonkey virtual machine", this seems to be the best resource: http://infomonkey.cdleary.com/
17:52 darbelo_ joined #parrot
17:57 dalek rakudo/nom: 7c9b08a | jonathan++ | src/Perl6/Grammar.pm:
17:57 dalek rakudo/nom: Fix twigil parsing to be in line with STD.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c9b08aa41
18:05 rdesfo joined #parrot
18:08 zby_home joined #parrot
18:16 Eclesia joined #parrot
18:16 Eclesia hi
18:18 whiteknight hello Eclesia
18:18 Eclesia hello whiteknight
18:19 whiteknight how are you doing today?
18:20 Eclesia correct, it will be fine if I manage to progress with eria in the next hour ^^
18:27 whiteknight Are there other things you can work on besides Archive.Zip?
18:27 whiteknight I don't want you to waste another hour fighting with broken code and bad docs
18:29 Eclesia plenty other stuff. but without the module management system. it's going to be like code hacking when I want to work with more then one file
18:29 Eclesia whiteknight: don't worry, I actually drop the zip for now, I use the Tar one, at least I can write .... but can't extract lol
18:30 Eclesia so I'm stuck once more
18:32 dukeleto Eclesia: sounds Less Than Awesome. If you can spare some time, submit a pull request with tests for Archive.Zip that you expect to pass. That may help us make it work.
18:32 Eclesia dukeleto: http://trac.parrot.org/parrot/ticket/2171 http://trac.parrot.org/parrot/ticket/2172
18:33 Eclesia just zip and unzip. I don't expect more ^^
18:34 Eclesia tar, gzip or whatever, any archive format will do
18:44 dukeleto Eclesia: i see. the issue is that Archive.* wasn't really being used by anybody before
18:45 Eclesia it looks like
18:45 dukeleto Eclesia: it is suboptimal, but can you just shell out to "unzip" so you can hack on other parts of your code while we fix that stuff?
18:45 Eclesia I didn't wait for you ^^
18:49 dukeleto Eclesia: ah, i see. you are just using tar for now.
18:50 Eclesia dukeleto: yes but tar once again does not have an 'unpack' method
18:58 whiteknight I wasn't aware that Tar was such a simplistic file format
18:58 whiteknight I'm reading about it now
18:58 whiteknight writing an unpack method does not look too difficult
18:59 Eclesia whiteknight: it's just concatenation mainly.
19:00 dalek rakudo/nom: d441931 | (Solomon Foster)++ | src/core/Rat.pm:
19:00 dalek rakudo/nom: Use "Real $?" for the Rat.Rat optional parameter which is ignored.  jnthn++
19:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d4419313f4
19:01 whiteknight I thought it was a compression format. I learn something new every day
19:05 Eclesia whiteknight: is there some kind of BitStream class in parrot ?
19:06 Tene_ whiteknight: That's why you always see .tar.gz or .tzr.bz2, because the compression is done separately.  That's also why gzip and bzip2 are simple data formats, because they can rely on tar to handle grabbing a whole directory tree, etc.
19:08 NotFound Note that tar was designed several decades ago.
19:08 dukeleto Eclesia: i think there is a ByteBuffer PMC
19:08 NotFound The past millenium.
19:09 * Eclesia was born last millenium ... damn I'm old too
19:20 Eclesia Question : I would like two constructor on my class, with different parameters. what is the correct writing ?
19:20 nopaste "Eclesia" at 192.168.1.3 pasted "two constructor, correct writing" (24 lines) at http://nopaste.snit.ch/69069
19:21 nopaste "whiteknight" at 192.168.1.3 pasted ":multi usage for Eclesia++" (24 lines) at http://nopaste.snit.ch/69070
19:22 Eclesia whiteknight: thanks
19:25 whiteknight :multi semantics are a little tricky, and probably need a redesign
19:25 whiteknight but that's the basics
19:27 soh_cah_toa joined #parrot
19:31 mikehh its #ps time
19:31 darbelo joined #parrot
19:32 tcurtis ~~
19:32 whiteknight hello tcurtis, how goes it?
19:32 dalek website: tcurtis++ | GSoC: LALR Parsing: A revised schedule
19:32 dalek website: http://www.parrot.org/content/gs​oc-lalr-parsing-revised-schedule
19:33 tcurtis whiteknight: I finally fixed all of the bugs and unimplemented tasks in the process of generating DPDAs for LR(0) grammars.
19:41 whiteknight tcurtis: awesome, that's a big step
19:42 whiteknight tcurtis: What can we do to help?
19:45 Eclesia NotFound: does winxed handle properly code when we have more then one constructor ?
19:45 whiteknight Eclesia: no, Winxed doesn't currently handle Multidispatch
19:45 NotFound Eclesia: no
19:46 Eclesia whiteknight, NotFound : I don't mean creating classes with more then one constructor, just using them
19:46 cotto_work not_gerd: what timezone are you in?
19:47 NotFound Eclesia: using them should work, but I haven't tested.
19:48 tcurtis whiteknight: I'm planning to spend tonight reading about and working out how exactly to build a parse tree while parsing.
19:49 whiteknight tcurtis: I suspect it's pretty easy to do. A node for each token, and when you have enough nodes you make a production node and everything below it becomes children
19:49 whiteknight but yeah, you want to get it right
19:49 tcurtis After I read the relevant chapter of "Practical Translators..." I'll probably want to talk about it to help clear up the details in my head.
19:49 tcurtis whiteknight: I think that's essentially what it does, yes.
19:51 nopaste "Eclesia" at 192.168.1.3 pasted "For NotFound : constructor multi bug" (39 lines) at http://nopaste.snit.ch/69071
19:51 Eclesia NotFound: here is a test which is not working
19:53 Eclesia perhaps I made something wrong, but I don't see anything special here
19:53 NotFound s
19:54 * Eclesia is good at finding bugs lol
19:54 NotFound Eclesia: Don't know what can be the problem, I've never used muti.
19:55 Eclesia whiteknight: is there a special way to call methods which have 'multi' perhaps ?
19:55 whiteknight Eclesia: Shouldn't need to be, no
19:56 whiteknight Eclesia: Oh, I know what the problem is. I forgot the invocant
19:56 whiteknight you have to add an extra _ in each :multi, because they are methods
19:57 * Eclesia trying
19:58 Eclesia whiteknight: nice, it works :)
19:58 NotFound Now you see why there are no multi on winxed, I don't know them enough ;)
19:58 whiteknight NotFound: If I add multi support, would you be willing to merge it?
19:58 Eclesia NotFound: I'm going to use them a lot ^^
19:58 pmichaud the initial _ is for the type of the invocant
19:58 whiteknight Assuming the support isn't terrible, of course
20:00 NotFound whiteknight: yes, but declaring it experimental for a while.
20:00 whiteknight NotFound; I am planning, over time, to fix multi and other crap, but I don't know if we want to wait for Winxed
20:00 NotFound (just for my peace of spirit, that declaration doesn't mean much)
20:00 Eclesia I understand each _ if for an argument, something like (_,Integer,Float,String) but if I have a path to a pmc
20:01 Eclesia how do I write it
20:01 whiteknight Eclesia: That's something I don't know
20:01 Eclesia whiteknight: I remember I already asked you about it last week, maybe someone else will know ;)
20:01 Eclesia pmichaud perhaps ?
20:02 pmichaud ['Path';'To';'Class']
20:02 whiteknight pmichaud: in the :multi() tag?
20:02 pmichaud yes.
20:02 pmichaud see compilers/pct/src/PAST/Compiler.pir for some examples
20:02 whiteknight awesomeness
20:02 NotFound That will be a more work for a winxed implementation.
20:02 whiteknight no, not really. It is pretty horrible syntax. But, it's cool if it works
20:03 pmichaud .sub 'as_post' :method :multi(_, ['PAST';'Stmt'])
20:03 pmichaud (from PAST::Compiler)
20:03 Eclesia pmichaud: does is properly redirect subclasses ?
20:03 whiteknight One day, object metamodel, Pop, Zoom! Straight to the Moon!
20:03 pmichaud Eclesia: if you're asking if it matches subclasses -- yes.
20:04 Eclesia nice
20:04 pmichaud i.e., ['PAST';'Stmt']  means any object of that type or a subclass
20:04 pmichaud (in a :multi)
20:05 rdesfo joined #parrot
20:05 Eclesia more vicious now, if I have two methods with same name and arguments number ,  the first with  :multi(_, ['eria';'AbstractParent'])   , and the second with  :multi(_, ['eria';'AChildClass']) .
20:06 Eclesia which one is called if I give a AChildClass instance ?
20:06 pmichaud the second.
20:08 Eclesia hm ... I had one more, but since parrot is for dynamic types, my question does make sens ^^
20:08 whiteknight Eclesia: Yes, it does best match
20:09 NotFound In a first look at crow.pir, it seems that the problem lies in Config/JSON
20:11 NotFound Uhhhh... no, it may be in the template file.
20:13 Eclesia pmichaud: what if I have only a single method with multi(_,Integer)  and try to call it with something which is not an Integer ? will it raise an error or go in anyway ?
20:13 pmichaud Eclesia: it'll complain that there's no matching candidate, iirc.
20:14 Eclesia pmichaud: is there something similar for class properties ? like :     addattribute $P0, 'value' :ensureType(Integer) ?
20:15 pmichaud Eclesia: no, not at the Parrot level.
20:16 Eclesia pmichaud: perhaps a way to reduces scopes on function, class ? to make them only useable for the current namespace for exemple ?
20:17 jnthn__ Eclesia: That's probably for the compiler to implement.
20:18 Eclesia jnthn__: I'm just trying to find out how far I can push security constraints in parrot.
20:19 pmichaud Eclesia: you can pretty much bend them to your will.
20:19 pmichaud (unless "your will" is "make Parrot secure")
20:19 NotFound I've found the problem: It lies in "Pájaros"
20:20 NotFound The á acute is latin-1, not utf8
20:20 dalek rakudo/nom: 3462af1 | tadzik++ | src/Perl6/Grammar.pm:
20:20 dalek rakudo/nom: Implement DOC use
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3462af1fc1
20:24 NotFound Ok, looks like it is a documentation problem: the release manager guide should recommend to check thah the tools/release/release.json file is a valid json file, in particular that any non-ascii character must be utf8.
20:25 pmichaud or, add such a test to "make test" somewhere.
20:25 pmichaud (or "make doctest" or whatever)
20:26 NotFound Yes, just trying to parse it will cover most mistakes.
20:26 NotFound But the error message will nor be particularly informative.
20:29 not_gerd more errors from the msys front: http://paste.pocoo.org/show/qnWjMgZe2tu78NCqeBWz/
20:29 not_gerd the file in question doesn't exist, so I'm not suprised it can't be read...
20:31 NotFound config.fpmc is generated, it must be some other error before that.
20:33 not_gerd I've got a config.fpmc, but for some reason it's located in $build_dir\runtime\parrot\include
20:41 darbelo_ joined #parrot
20:42 dalek rakudo/nom: 1ec5883 | tadzik++ | src/Perl6/Grammar.pm:
20:42 dalek rakudo/nom: Use a subcapture instead of a dynvar in DOC use handling, pmichaud++
20:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ec5883b68
20:44 nopaste "Eclesia" at 192.168.1.3 pasted "something not quit right yet" (39 lines) at http://nopaste.snit.ch/69114
20:44 Eclesia NotFound: do you see anything strange in this small code ?
20:45 dalek parrot: 70cca2a | NotFound++ | config/gen/config_pm/config_pir.in:
20:45 dalek parrot: finalize an exception in config generation
20:45 dalek parrot: review: https://github.com/parrot/parrot/commit/70cca2aebf
20:45 NotFound not_gerd: that may fix your problem... or not.
20:47 NotFound Eclesia: I don't know if _ means 'any PMC' or 'anything'
20:47 Eclesia NotFound: it's actualy the error U
20:47 Eclesia I dont understand*
20:48 Eclesia looks like he is not calling the good constructor
20:48 NotFound Eclesia: sometimes the excption messages are less than awesome.
20:49 NotFound Eclesia: it may be that the multi rules give precedence to the wrong sub. They shouldn't, but...
20:49 Eclesia pmichaud: sorry to disturb you again, but could you have a quick expert look at the problem ? (in the pastebin above)
20:52 Khisanth joined #parrot
20:54 Eclesia (or anyone else)
21:07 pmichaud Eclesia: looking
21:09 Eclesia pmichaud:  thanks
21:09 not_gerd NotFound: your commit didn't fix the issue, but I think I know what's happening
21:10 not_gerd if $prefix/runtime isn't found, config.pir tries to read the file from the install location
21:10 pmichaud Eclesia: it works for me -- see http://gist.github.com/1135208
21:11 NotFound not_gerd: yes, looks like it does it that way.
21:11 Eclesia pmichaud: strange :/
21:12 pmichaud Eclesia: where does Decimal64.pir get loaded?
21:12 Eclesia pmichaud: sometime before. it is loaded as a pbc file
21:13 pmichaud I'd check to make sure it's not stale.
21:14 nopaste "Eclesia" at 192.168.1.3 pasted "pmichaud : full Decimal64.pir" (23 lines) at http://nopaste.snit.ch/69136
21:14 Eclesia pmichaud: I removed the .annotation in the previous file, perhaps something mess up with them ... perhaps
21:18 pmichaud Eclesia: I don't see anything wrong there, no.  It's likely to be something obvious.  As my gist above showed, though, the basic :multi seems to be working properly.
21:18 pmichaud I doubt it has anything to do with the annotations.
21:19 pmichaud although having .annotation between .sub and .param might be a problem.
21:19 Eclesia pmichaud: it is annotate ! I removed them and it worked
21:19 pmichaud yeah, it's probably where they occur that is the issue.
21:19 pmichaud Normally IMCC (the PIR compiler) doesn't like having *anything* between a .sub declaration and its .param lines.
21:20 Eclesia ok, I'll fix my parser
21:20 pmichaud i.e., the first the after a .sub declaration has to be any .params.  Otherwise it thinks there are no params.
21:21 NotFound annotation before param doesn't work well. plobsing added a fix some weeks ago, but the fix doesn't work for methods.
21:21 Eclesia pmichaud: just a suggestion, the compilation should have failed then
21:21 NotFound Beacuse of the way 'self' is generated
21:22 benabik Perhaps we could error out if we encounter a .param after something else in the sub?
21:22 NotFound Eclesia: Have you seen people frequently blaming imcc? Now you know why.
21:24 NotFound benabik: on the contrary, the last fixes were to allow them anywhere.
21:24 Eclesia so that's imcc . the 'famous' black sheep ^^
21:24 benabik NotFound: Except that it doesn't work for methods, apparently…
21:25 NotFound It works, but not as expected.
21:26 NotFound 'method' synthetizes a .param declaration for method. The annotation makes that .param a separate param block.
21:26 NotFound s/for method/for self
21:26 benabik …  Separate param block?
21:26 * Eclesia hourray, made his first addition
21:27 Eclesia 2months after starting the project ...
21:27 NotFound benabik: as if it were a different entry point for the sub
21:27 benabik NotFound: subs can have multiple entry points?
21:28 NotFound benabik: I think the idea was to add the ability of declaring exception handlers or continuation targets with params
21:30 cotto_work not_gerd: you said you had some more M0 thoughts, though it was 0230 for me at the time.  Care to share them now?
21:31 Eclesia time to go ++, NotFound, pmichaud : thanks for the help
21:33 not_gerd cotto_work: how much thought has gone into the decision to make the m0 instruction set minimal?
21:33 not_gerd ease of implementation aside, I don't see much benefit in that
21:33 not_gerd as I see it, there are 2 drawbacks:
21:34 cotto_work not_gerd: that's been on my mind a lot recently
21:34 not_gerd 1. bad interpreter performance (few ops --> a lot of dispatch)
21:34 not_gerd 2. m0 is lower-level than the target instruction-set for jitting
21:34 not_gerd this means you can't generate good code without an optimizer
21:35 not_gerd translating one high-level instruction to many low-level ones is easier than the other direction
21:36 cotto_work Part of it is a reaction against PIR, which has ~1100 instructions and is essentially impossible to jit.
21:36 cotto_work I'm not saying that's good or bad, just that it is.
21:36 cotto_work I'm realizing that M0's minimalism is a goal that needs to be examined more thoughtfully.
21:44 Psyche^ joined #parrot
21:44 not_gerd cotto_work: for comparison: nanojit has 118 ops, gnu lightning 116
21:45 cotto_work not_gerd: that's instructive
21:46 not_gerd some links: https://developer.mozilla.org/En/Nanojit/LIR http://www.gnu.org/software/lightning/ma​nual/html_node/The-instruction-set.html http://demakov.com/projects​/libjit-docs/libjit_8.html http://llvm.org/docs/LangRef.html
21:46 benabik LLVM appears to have 57, although that's mildly deceptive because most ops will handle most types.
21:46 benabik (So the # explodes if you count each type variant separately.)
21:46 not_gerd llvm ir is a special case because it's not really designed for fast jitting, but control flow analysis
21:47 benabik True, but it's not a bad place to look for "minimal instruction set".
21:49 benabik Well, probably not true.  They list a JIT compiler as being one of the targets for IR.
21:50 not_gerd benabik: the llvm jitter comes with a lot of overhead in comparison to, say, libjit, but probably produces better code
21:52 cotto_work llvm is better at optimizing
21:52 cotto_work I think libjit and gnu lightning focus more on quickly generating code
21:53 dukeleto not_gerd: i think the current "m0 philosophy" is: miniminalize the number of opcodes, then add more in if necessary. I imagine that we will add a few JIT related m0 ops when we get to that stage
21:53 not_gerd gnu lightning is basically a runtime assembler - no optimizations, no register allocator
21:54 not_gerd libjit can do optimizations, even on-demand
21:54 dukeleto not_gerd: also, the JIT subsystem may be in C, like the GC. Do you know of examples of JIT's which aren't written in C/C++ ?
21:54 cotto_work dukeleto: I'm starting to question that.  Minimizing the number of opcodes needs to have a solid rationale, otherwise we're just minimizing it to minimize it.
21:55 cotto_work We need a set of criteria between which we can find a balance.
21:55 dukeleto cotto_work: sure. I think we are at the point where we need to "look-ahead" and see how a JIT and M0 will interact. It surely isn't obvious.
21:55 cotto_work Otherwise we can just implement a one-instruction VM and call it good.
21:57 not_gerd dukeleto: all jit compilers I know of are written in C or C++
21:57 not_gerd luajit has only the interpreter written in asm
21:57 dukeleto not_gerd: yeah, luajit is pretty crazy (and fast) in that respect
21:58 dukeleto Nanojit has 128 opcodes: https://developer.mozilla.org/En/Nanojit/LIR
21:58 cotto_work dukeleto: several aren't used
21:58 dukeleto so I think it is safe to say that we can roughly double the number of opcodes that m0 has currently, but past that, we should find suspect
21:59 dukeleto cotto_work: sure. room to grow.
21:59 cotto_work dukeleto: that still sounds like an arbitrary number
21:59 dukeleto cotto_work: 119 ops currently in use
21:59 cotto_work What's been blocking me has been that I don't want too many ops, and that's not a good goal on its own.
22:00 not_gerd re luajit - here's Mike's explanation as to why you shouldn't use C to write interpreters: http://article.gmane.org/gman​e.comp.lang.lua.general/75426
22:00 dukeleto and reading more closely, 2 more ops are rarely uses, so that brings us to 117 "real" ops
22:00 cotto_work I've seen that.
22:01 cotto_work It's a good case for learning assembly.
22:03 dukeleto I knew all that assembly hacking in college would come in handy again.
22:03 cotto_work It strikes me as more of an implementation issue though.  We want M0 to have several interpreters to choose from.
22:03 dukeleto The number of ops in nanojit almost certainly evolved as performance data was collected about slow code paths, which were then broken into different opcodes.
22:04 dukeleto cotto_work: why do we want to have several interpreters? explain that a bit more?
22:04 dukeleto I don't think it is reasonable to assume that we will know exactly the perfect number of opcodes that M0 should have before we actually have M0 performance data.
22:04 cotto_work dukeleto: different use cases, e.g. msvc-optimized for windows, space-optimized for embedded, gcc-optimized for *nix, js for the browser
22:05 cotto_work dukeleto: me neither.  That's why I want to figure out a coherent set of criteria.
22:05 dukeleto cotto_work: i think i missed that memo. msvc-optimized ? gcc-optimized ?
22:05 cotto_work Some kind of yardstick is needed.
22:06 dukeleto cotto_work: i can understand having tunable params in one interp to prefer memory or performance, but multiple m0 interps? I will need more cajoling before I think that will be a good idea.
22:07 whiteknight joined #parrot
22:07 dukeleto cotto_work: i can understand multiple different kinds of JITs (like mozilla does), but multiple VM interpreters? That seems like a huge maintainence burden that even companies with hundreds of devs don't want to deal with.
22:08 not_gerd prior art for a VM with multiple interpreters: Parrot
22:08 not_gerd (interpreter <--> runcore)
22:09 whiteknight good evening, #parrot
22:09 cotto_work hi whiteknight
22:10 not_gerd whiteknight: I made some progress with my msys build
22:10 whiteknight not_gerd: awesome. Do you have a github account?
22:10 cotto_work dukeleto: it's been part of the long-term plan as long as I've been thinking about M0.
22:10 not_gerd I even have a winxed.exe, but the build currently fails at src/dynoplibs/sys_ops.o
22:10 cotto_work no immediately, but once M0 stabilizes and we start to find where the bottlenecks are
22:11 cotto_work *not
22:11 not_gerd whiteknight: no github account, and I currently hardcode my paths, but I can set one up when I'm ready to show something üresentable
22:12 not_gerd ^peresentable
22:12 cotto_work aloha: clock/
22:12 cotto_work aloha: clock?
22:12 aloha cotto_work: LAX: Tue, 15:12 PDT / CHI: Tue, 17:12 CDT / NYC: Tue, 18:12 EDT / UTC: Tue, 22:12 UTC / LON: Tue, 23:12 BST / BER: Wed, 00:12 CEST / TOK: Wed, 07:12 JST / SYD: Wed, 08:12 EST
22:12 dukeleto cotto_work: i guess when i think of it as a runcore, then it makes more sense.
22:13 dalek parrot/whiteknight/multisub_cleanup: f4a6420 | Whiteknight++ | src/pmc/multisub.pmc:
22:13 dalek parrot/whiteknight/multisub_cleanup: Remove some unused/unimplemented cruft from MultiSub
22:13 dalek parrot/whiteknight/multisub_cleanup: review: https://github.com/parrot/parrot/commit/f4a642059e
22:13 dalek parrot/whiteknight/multisub_cleanup: a0c9588 | Whiteknight++ | src/pmc/multisub.pmc:
22:13 dalek parrot/whiteknight/multisub_cleanup: Remove more unnecessary vtables. Fallback to the default.pmc has the same effect as throwing an unconditional exception, but the error messages are just a bit different
22:13 dalek parrot/whiteknight/multisub_cleanup: review: https://github.com/parrot/parrot/commit/a0c95885f5
22:13 dukeleto not_gerd: i highly encourage you to get a github account. I would love to see you help us with m0, after you get your build issues sorted out
22:14 dalek parrot/whiteknight/multisub_as_hash: 82fca57 | Whiteknight++ | src/pmc/multisub.pmc:
22:14 dalek parrot/whiteknight/multisub_as_hash: Prototype code to play with the idea that a multisub could be a sig->sub hash instead of an RPA
22:14 dalek parrot/whiteknight/multisub_as_hash: review: https://github.com/parrot/parrot/commit/82fca577d7
22:14 cotto_work dukeleto: If M0 is essentially static and has solid test coverage, there won't be a major additional burden to maintain additional interpreters.
22:14 cotto_work ("static" as in unchanging)
22:16 not_gerd the problem with msys is that parrot can't deal with the unix-style virtual paths
22:16 not_gerd so every time there's a hardcoded absolute path, you have a problem
22:16 dukeleto This is a nice overview of the Adobe ActionScript VM: http://www.adobe.com/content/dam/Adobe/en/de​vnet/actionscript/articles/avm2overview.pdf
22:16 not_gerd also, the msys hints file has last been touched January 18, 2007
22:17 dukeleto not_gerd: parrot used to have more windows devs, but a few of those haven't been active lately
22:18 dukeleto not_gerd: many people would thank you if you helped us get that stuff up to the present
22:21 dukeleto This page has some pretty pictures and an overview of how Spidermonkey uses nanojit: https://developer.mozilla.org/En/S​piderMonkey/Internals/Tracing_JIT
22:21 rdesfo joined #parrot
22:24 benabik dukeleto: all the pretty pictures are broken for me.  :-(
22:25 dukeleto benabik: why?
22:25 dukeleto benabik: are you using some kind of broken OS? ;)
22:25 dukeleto benabik: what kind of error do you get?
22:25 benabik dukeleto: 500.  It resolved itself.
22:27 dukeleto benabik: the joys of intermittent failures
22:28 dukeleto benabik: i have been reading about mercurial lately. The overlapping-yet-different terminology surely makes one want to throw a dictionary at somebody.
22:28 benabik dukeleto: Overlap with themselves or overlap with git?
22:29 cotto_work English needs namespaces.
22:33 dukeleto benabik: overlapping with git
22:33 not_gerd fun fact: on msys-perl, cpan install Win32 fails with 'OS unsupported'
22:33 benabik dukeleto: IIRC, they saw some things git did and thought "we can do that", but kinda couldn't.
22:34 not_gerd I'll probably have to do something like print `cmd /c 'for \%i in (.) do \@echo \%~fi'`; to get absolute paths...
22:35 dalek rakudo/nom: 73ee1ee | jonathan++ | / (17 files):
22:35 dalek rakudo/nom: Add archetypes, which provide a way for a meta-object to describe the things the types it describes can be used for, or can provide related types for. Replaces the .is_generic mechnism, and adds a few more things, including a way to ask a subtype for its underlying nominal type.
22:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73ee1eee3b
22:35 dalek rakudo/nom: 9d9f42c | jonathan++ | src/Perl6/Metamodel/SubsetHOW.pm:
22:35 dalek rakudo/nom: Missing decontainerize.
22:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d9f42cf8b
22:35 dalek rakudo/nom: 71168e4 | jonathan++ | src/Perl6/Actions.pm:
22:35 dalek rakudo/nom: Handle non-nominal types used in the nominal parameter type slot; start preparing for fixing generics handling in the binder a little more.
22:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71168e4906
22:35 dalek rakudo/nom: c954899 | jonathan++ | t/spectest.data:
22:35 dalek rakudo/nom: Run S12-subset/multi-dispatch.t.
22:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c954899a83
22:39 kid51 joined #parrot
22:46 dalek parrot: bb0b13f | jkeenan++ | docs/ (2 files):
22:46 dalek parrot: Merge branch 'tt2007/html_links'
22:46 dalek parrot: review: https://github.com/parrot/parrot/commit/bb0b13f8ca
22:49 soh_cah_toa whiteknight: ping
22:51 dukeleto about:memory in Firefox 5 is pretty spiffy
22:57 dalek TT #2007 closed by jkeenan++: documentation now links offsite
22:57 dalek TT #2007: http://trac.parrot.org/parrot/ticket/2007
22:58 benabik dukeleto: I find chrome://memory amusing.  "Bug: We seriously overcount our own memory usage"
23:03 dukeleto benabik: lulz
23:03 dukeleto https://wiki.mozilla.org/Jav​aScript:Compiler_References <- Nice collection of interesting papers
23:07 whiteknight soh_cah_toa: pong
23:10 soh_cah_toa whiteknight: i started writing up a draft spec for a debug segment
23:10 whiteknight w00t
23:10 soh_cah_toa whiteknight: take a look: https://gist.github.com/1133182
23:11 soh_cah_toa it's modeled mostly after dwarf
23:13 whiteknight soh_cah_toa: looks nice
23:14 kid51 soh_cah_toa: Were you able to look at my email re the tests?
23:14 soh_cah_toa ah, haven't checked it but i did see a message from aloha
23:15 soh_cah_toa it's on my other machine though, what was it about?
23:16 kid51 Umm, I think you should read the email.
23:17 kid51 Do you want me to re-send it?
23:17 soh_cah_toa i'll check it now
23:19 soh_cah_toa kid51: the 'list' test fails for you? all tests pass for me
23:20 dalek parrot/soh-cah-toa/hbdb: df3b798 | jkeenan++ | t/tools/hbdb/cmds.t:
23:20 dalek parrot/soh-cah-toa/hbdb: Correct name of file in its POD.
23:20 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/df3b798d4b
23:21 soh_cah_toa also, why use 'no_plan' and move $bad_cmd and $err_msg outside lexical block?
23:22 kid51 1. In rapid development, you often don't know how many tests you are going to end up with.  no_plan is expedient at that point in the development cycle.
23:23 soh_cah_toa ok. yeah, i forget to increment that a lot
23:23 kid51 2. They're assigned once only, but in my patch used in multiple blocks.
23:24 kid51 Side issue:  When running 'make' in this branch, I have twice gotten:
23:24 kid51 PackFile_Header_validate: This Parrot cannot read bytecode files with version 11.0.
23:24 kid51 current instr.: 'parrot;PGE;Exp;__onload' pc 2975 (compilers/pge/PGE/OPTable.pir:27)
23:24 kid51 make: *** [runtime/parrot/library/PGE.pbc] Error 1
23:24 soh_cah_toa yeah, i just noticed that
23:25 soh_cah_toa do you have 3.6 installed? it doesn't work w/ it
23:25 kid51 No, I have no parrot installed.
23:26 soh_cah_toa hm
23:26 kid51 But, even if I did, your branch should probably work w/ the latest supported release.
23:26 soh_cah_toa it was forked pre 3.6
23:26 soh_cah_toa i tried merging and got a bunch of frustrating conflicts and gave up
23:27 kid51 Hmm, perhaps you should discuss with your mentor refreshing the branch, as your branch has been much more long-lived than most.
23:27 soh_cah_toa and then i think someone told me not to merge
23:27 kid51 Alright, after a make realclean and reconfigure, I can rebuild
23:27 kid51 Well, you're not ready to merge branch into master, but ...
23:28 kid51 ... people other than me can tell you when you should merge master into branch.
23:28 soh_cah_toa yeah ok
23:28 kid51 duke can probably tell you when/when not to do that
23:28 soh_cah_toa ok
23:29 nopaste "kid51" at 192.168.1.3 pasted "cmds.t: 2 of 3 tests failing" (67 lines) at http://nopaste.snit.ch/69200
23:30 slavorg joined #parrot
23:32 soh_cah_toa odd, do you have local changes? i have all passing
23:32 kid51 $ git status
23:32 kid51 # On branch soh-cah-toa/hbdb
23:32 kid51 nothing to commit (working directory clean)
23:32 soh_cah_toa eh
23:34 cotto_work soh_cah_toa: who told you not to merge?
23:34 soh_cah_toa hmm...
23:34 soh_cah_toa i forget
23:34 cotto_work and was it because of something that was happening at the time?  In general, it shouldn't be a bad idea.
23:35 cotto_work no need to merge right now though.
23:35 soh_cah_toa well, i remember talking to you, duke, whiteknight, and i think kid51 was there too
23:35 cotto_work get those tests written and passing.  You can merge after pencils down.
23:35 soh_cah_toa alright, no big deal
23:36 * soh_cah_toa will brb
23:37 kid51 cotto_work: Feedback welcome on that email I sent today, on which I cc-ed you.
23:38 kid51 (particularly since i was working on it at 4:30 am localtime :-) )
23:38 * kid51 goes back to reading blogs
23:40 dalek rakudo/nom: c5e94c1 | jonathan++ | src/ (3 files):
23:40 dalek rakudo/nom: Pass generic nominal flag down to binder.
23:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5e94c13c0
23:40 dalek rakudo/nom: 130bab8 | jonathan++ | src/Perl6/Grammar.pm:
23:40 dalek rakudo/nom: Seems tadzik's last patch was a little off and managed to break the build; this unbreaks it.
23:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/130bab83ff
23:40 dalek rakudo/nom: cb738d9 | jonathan++ | src/binder/bind.c:
23:40 dalek rakudo/nom: Make (::T, T) style signatures work properly in the binder.
23:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb738d9d9d

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

Parrot | source cross referenced