Camelia, the Perl 6 bug

IRC log for #parrot, 2012-09-03

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:08 lucian joined #parrot
00:14 MikeFair joined #parrot
00:18 aloha joined #parrot
00:23 MikeFair joined #parrot
00:26 benabik joined #parrot
01:08 woosley joined #parrot
07:01 brrt joined #parrot
08:05 lucian joined #parrot
08:14 fperrad joined #parrot
08:19 Psyche^ joined #parrot
09:38 schm00ster joined #parrot
10:31 dalek parrot: e7cced7 | rurban++ | t/dynpmc/os.t:
10:31 dalek parrot: win32 skip t/dynpmc/os.t os.readdir
10:31 dalek parrot:
10:31 dalek parrot: This test not only fails on MSVC, also with mingw gcc and all others.
10:31 dalek parrot: review: https://github.com/parrot/parrot/commit/e7cced7c22
11:04 dalek parrot: a960052 | rurban++ | config/ (2 files):
11:04 dalek parrot: Makefile pmc dependency cleanup
11:04 dalek parrot:
11:04 dalek parrot: Remove the unneeded suffix rule.
11:04 dalek parrot:
11:05 dalek parrot: Remove duplicate lib/Parrot/Pmc2c/PCCMETHOD.pm dep.
11:05 dalek parrot:
11:05 dalek parrot: Fix vtable.dump deps.
11:05 dalek parrot:
11:05 dalek parrot: default.dump is still created on every make invocation, only make -t fixes that.
11:05 dalek parrot: review: https://github.com/parrot/parrot/commit/a9600528c7
11:24 travis-ci joined #parrot
11:24 travis-ci [travis-ci] parrot/parrot#531 (master - a960052 : Reini Urban): The build was broken.
11:24 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/e7cced7c2279...a9600528c7b8
11:24 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2317499
11:24 travis-ci left #parrot
11:29 dalek parrot: 6a36728 | rurban++ | t/codingstd/pccmethod_deps.t:
11:29 dalek parrot: t/codingstd/pccmethod_deps.t: bogus dependency detection
11:29 dalek parrot:
11:29 dalek parrot: There is a special test to check if every .dump contains PCCMETHOD.pm as dependency,
11:29 dalek parrot: but every .dump contains $(PMC2C_FILES) which includes PCCMETHOD.pm.
11:29 dalek parrot: review: https://github.com/parrot/parrot/commit/6a36728d66
11:50 nemesys @jimmy thanks for the threads hint
11:53 dalek parrot: 13f3cf5 | rurban++ | config/auto/warnings.pm:
11:53 dalek parrot: warnings cleanup
11:53 dalek parrot:
11:53 dalek parrot: Remove already by -Wall and -Wextra implied gcc/clang warnings,
11:53 dalek parrot: for a shorter cc cmdline.
11:53 dalek parrot: review: https://github.com/parrot/parrot/commit/13f3cf5eeb
12:12 travis-ci joined #parrot
12:12 travis-ci [travis-ci] parrot/parrot#532 (master - 6a36728 : Reini Urban): The build was fixed.
12:12 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/a9600528c7b8...6a36728d660e
12:12 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2317715
12:12 travis-ci left #parrot
12:32 zby_home joined #parrot
12:50 JimmyZ joined #parrot
12:52 rurban_mobile joined #parrot
12:55 PacoAir joined #parrot
12:57 dalek parrot: f1d2865 | tadzik++ | lib/Parrot/Configure/Options.pm:
12:57 dalek parrot: Cry when Configure.pl is given a relative path. Probably works for Unixes only
12:57 dalek parrot: review: https://github.com/parrot/parrot/commit/f1d2865a49
12:57 dalek parrot: 1a0a31c | jkeenan++ | / (2 files):
12:57 dalek parrot: Let's try using a File::Spec function for testing for absoluteness.  Add a regression test for invalid value to '--prefix'.
12:57 dalek parrot: review: https://github.com/parrot/parrot/commit/1a0a31c75e
13:03 schm00ster joined #parrot
13:30 Maddingue joined #parrot
13:33 nemesys Just came to the conclusion that building concurrency on-top of the current parrot implementation will always result in a never ending green/hybrid-thread story
13:33 nemesys Would have to define a shared memory model from groud up
13:33 nemesys for int, str, flot, and pmcs
13:34 brrt .
13:34 brrt nemesys: i think the hybrid threads thing is not inelegant
13:34 brrt and tbh
13:35 brrt i'm not superbig on 'shared memory' myself
13:35 brrt as an aside
13:35 brrt having a 'interpreter-per-thread' is not bad, either
13:36 brrt because, just as silicon cpus cannot execute two tasks at once
13:36 brrt virtual cpus cannot either
13:48 dalek parrot/bdw/move-os: 97aa16a | rurban++ | / (24 files):
13:48 dalek parrot/bdw/move-os: move os.pmc from dynpmc back to static pmc
13:48 dalek parrot/bdw/move-os:
13:48 dalek parrot/bdw/move-os: Manually cleaned up pull request 778 by bdw.
13:48 dalek parrot/bdw/move-os:
13:48 dalek parrot/bdw/move-os: Rationale whiteknight:
13:48 dalek parrot/bdw/move-os: It's my belief that making OS PMC a dynpmc in the
13:48 dalek parrot/bdw/move-os: first place was a mistake.  It is the only real way to access some pretty
13:48 dalek parrot/bdw/move-os: fundamental filesystem and other functionality from the user level.
13:48 dalek parrot/bdw/move-os: Further, all the real logic is implemented inside libparrot already, but
13:48 dalek parrot/bdw/move-os: without OS PMC it isn't exposed to the user at all.
13:48 dalek parrot/bdw/move-os:
13:48 dalek parrot/bdw/move-os: dynpmcs should be used for cases when we want to add new logic to the VM,
13:48 dalek parrot/bdw/move-os: not when we already have that logic but want to be stingy about when we
13:48 dalek parrot/bdw/move-os: expose it.
13:48 dalek parrot/bdw/move-os:
13:48 dalek parrot/bdw/move-os: All our major users rely on OS pmc also. Winxed, Rakudo, NQP and Rosella all
13:48 dalek parrot/bdw/move-os: make some use of it.  It's important and necessary, and it should be in
13:48 dalek parrot/bdw/move-os: core.
13:48 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/97aa16a4d8
13:54 nemesys brrt: its all about what is really wanted - if you want a real concurrency, there is no way around fiddling with the basics
13:55 rurban_mobile nemesys: I found some races with pmc_new in threads, which worry me
13:56 schmooster joined #parrot
13:56 rurban_mobile bumped PBC_COMPAT to 12.1 for pmc/os
13:56 nemesys There are several ways to go: a) Basic types cannot be shared (ie. no lock or proxy-locks lookups needed or lock information to carry with these types)
13:57 nemesys with basic types I mean int, str, float - pmc could be shared because they are either way heavy enough
13:58 nemesys b) foresee an implementation which enables lock information for basic types to
13:58 nemesys that would some thingy like a address-hash lock-lookup table
13:58 nemesys the more cpu's you have, the broader and larger the lookup space in order to decrease hash collisions
13:59 nemesys but this means reinventing types and memory management
14:01 nemesys I cant see a decent way to get performance and real concurreny implemented with the current situation :)
14:03 brrt nemesys: that depends, again, on how you define concurrency :-)
14:03 nemesys indeed
14:03 rurban_mobile who wants to share int,num,str?
14:03 brrt basically, if you want concurrent merge sort, or something like that, then yes you are probably right
14:03 Maddingue joined #parrot
14:04 nemesys rurban_mobile: The java jvm implementations does it the same, they avoid carrying lock information for basic types
14:04 nemesys but this has a major tradeoff, memory
14:04 JimmyZ nemesys:  here are some posts about threads on parrot, FYI: http://whiteknight.github.com/allposts.html, if you didn't see my message to you
14:04 JimmyZ ;)
14:04 nemesys JimmyZ: Read them :)
14:04 brrt if you want concurrency as in server-style concurrency, where multiple threads solve different problems each
14:05 brrt then hybrid threads are probably pretty cool
14:06 whiteknight joined #parrot
14:06 nemesys the current hybrid thread impl. is just a delyed problem solving which hasnt been in the design spec first - and will never reach good performance
14:07 whiteknight good morning, #parrot
14:07 nemesys the progress feels good tho, but it doesnt solve the performance problem
14:08 nemesys because the real problem is embedded in its design
14:08 dalek parrot/bdw/move-os: 9e45571 | rurban++ | / (5 files):
14:08 dalek parrot/bdw/move-os: PBC_COMPAT 12.1
14:08 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/9e4557143d
14:08 dalek parrot: 97aa16a | rurban++ | / (24 files):
14:08 dalek parrot: move os.pmc from dynpmc back to static pmc
14:08 dalek parrot:
14:08 dalek parrot: Manually cleaned up pull request 778 by bdw.
14:08 dalek parrot:
14:08 dalek parrot: Rationale whiteknight:
14:08 dalek parrot: It's my belief that making OS PMC a dynpmc in the
14:08 dalek parrot: first place was a mistake.  It is the only real way to access some pretty
14:08 dalek parrot: fundamental filesystem and other functionality from the user level.
14:08 dalek parrot: Further, all the real logic is implemented inside libparrot already, but
14:08 dalek parrot: without OS PMC it isn't exposed to the user at all.
14:08 dalek parrot:
14:08 dalek parrot: dynpmcs should be used for cases when we want to add new logic to the VM,
14:08 dalek parrot: not when we already have that logic but want to be stingy about when we
14:08 dalek parrot: expose it.
14:08 dalek parrot:
14:08 dalek parrot: All our major users rely on OS pmc also. Winxed, Rakudo, NQP and Rosella all
14:08 dalek parrot: make some use of it.  It's important and necessary, and it should be in
14:08 dalek parrot: core.
14:08 dalek parrot: review: https://github.com/parrot/parrot/commit/97aa16a4d8
14:09 brrt hi whiteknight
14:09 whiteknight nemsys: what do you mean the performance problem? What is the right solution if threads isn't right?
14:09 whiteknight hello brrt
14:09 brrt primitive shared memory if i understood it right
14:10 brrt with an address lock hash
14:11 nemesys lock-lookup table based on hashed addresses
14:11 brrt sounds fun, but i'm not sure about reaally sharing that much details
14:11 nemesys it's used in the kernel too
14:11 nemesys then use different locking schemes like spinlock upon these locks
14:11 nemesys instead of carrying around the locking information in your types and objects, have it stored there
14:12 brrt fair enough, but, what is wrong with hybrid threads?
14:13 brrt they serve the purpose of running multiple paths of code, simultaneously
14:13 nemesys everyone else has them because no-one was able to solve the concurrency sustainable - so what about a solution which is?
14:14 brrt java has pretty primitve concurrency afaik
14:14 brrt and it is / can be a pain
14:14 nemesys indeed, with a memory tradeoff because they carry the lock information around
14:14 brrt i think keeping the lock in a lookup table will in the general case cost at least as much memory
14:15 nemesys just a few k
14:15 brrt you need a lock for every locked object, right?
14:15 nemesys be your lock space around 4096 possible locks, increase it by the factor for each cpu you add
14:15 brrt those locks won't be that much smaller than locks that are carried arround
14:16 brrt hence
14:16 brrt in the general case, you use exactly as much memory
14:16 nemesys you overbook the locks
14:16 brrt overbook, I'm sorry?
14:17 nemesys get ones object address, hash it correctly, lookup it up in the lock table
14:17 nemesys the more conccurent access you have, the higher your chance to get hash collisions
14:17 nemesys that's why sizing the lookup table is essential when there are more cpu#s
14:18 nemesys ie. there might be different objects which have the same lock-lookup due to their hash
14:18 nemesys but that chance is quite minimal
14:19 whiteknight nemesys: So isn't this something that could be implemented in the new threading system? It sounds like you're just talking about an algorithm for assigning and organizing locks
14:20 brrt whiteknight: in the new threading system, as it stands, and as i understand it, objects aren't shared, they are proxied
14:20 whiteknight right
14:20 brrt hence, you don't need to put locks on objects
14:21 whiteknight also, right
14:21 brrt which is why
14:21 brrt you don't have locks on objects :-)
14:21 nemesys iirc you have a queue which holds write-tasks for threads
14:21 brrt but it also means (and I think this is what nemesys means) you can't realistically write concurrent merge sort in parrot
14:22 nemesys the current threads impl. is rather a fake because we would love to get near concurrency, but we lied to ourselves
14:22 brrt which is harsh and informationless
14:22 nemesys maybe, you're right - not up to me to decide about it
14:23 nemesys as I said, it's all about what we want - real concurrency or a simple "select"
14:23 brrt but am i correct in that you want to implement things that need concurrent writes?
14:24 nemesys I cant implment, I'm way to dumb for that :)
14:24 nemesys I just good at throwing rocks
14:25 nemesys No seriously, had a longer discussion with a kernel developer which just started crying when I explained the current concurrency plans for parrot
14:25 rurban_mobile hi whiteknight: I'm still doing major cleanup. bdw/move-os will be merged soon. native_pbc should be merged also, but I need votes for that.
14:25 brrt well, concurrent merge sort (a rather tired example by now) is not that hard :-) for example
14:33 nemesys whiteknight: I dont know if it's dooable in the current impl. but I can imagine that incl. concurreny by design touches quite a few places in parrot - I dont know
14:34 whiteknight nemesys: We always want to hear more ideas for improvements
14:34 whiteknight nemesys
14:34 nemesys I can imagine that operations like these in such a model would be quite deadlocky: c = a + b in concurrent to c = b + a
14:35 rurban_mobile nemesys: perl6 implements its own native types which enables concurrent merge sort
14:36 nemesys but there is a solution for that too, like sorting the addresses of a b c ascending and claiming them in order and only proceed if all locks could be claimed
14:37 smash joined #parrot
14:40 dalek parrot/bdw/move-os: c52f7c4 | rurban++ | t (2 files):
14:40 dalek parrot/bdw/move-os: fix mk_native_pbc
14:40 dalek parrot/bdw/move-os:
14:40 dalek parrot/bdw/move-os: In order to update the native pbcs for 12.1, the creation script needed to be fixed.
14:40 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/c52f7c4332
14:40 nemesys rurban_mobile: and perl6 is currently implemented on?
14:43 JimmyZ parrot?
14:44 dalek parrot/bdw/move-os: eaca4f2 | rurban++ | t/native_pbc/ (4 files):
14:44 dalek parrot/bdw/move-os: native_pbc for i386 updated
14:44 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/eaca4f2084
14:48 dalek parrot/bdw/move-os: 9eaa77a | rurban++ | t/native_pbc/ (2 files):
14:48 dalek parrot/bdw/move-os: native_pbc i386 type 2 (long double) updated
14:48 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/9eaa77a4bf
14:50 arnsholt nemesys: Rakudo runs on Parrot, Niecza is .Net/Mono
14:52 whiteknight I'm not sure that I'm taking from this conversation anything concrete to work on
14:55 brrt no, not really
14:55 brrt not that i personally don't appreciate a different view
14:55 brrt there is just 'not much we can do'
14:56 whiteknight if we get concrete suggestions for new algorithms or architectures, we definitely will consider them
14:56 whiteknight But I think the best thing we can do now is to merge threads and start collecting feedback to see what works and what doesn't
14:56 brrt basically,  if any
14:57 dalek parrot: 9e45571 | rurban++ | / (5 files):
14:57 dalek parrot: PBC_COMPAT 12.1
14:57 dalek parrot: review: https://github.com/parrot/parrot/commit/9e4557143d
14:57 dalek parrot: c52f7c4 | rurban++ | t (2 files):
14:57 dalek parrot: fix mk_native_pbc
14:57 dalek parrot:
14:57 dalek parrot: In order to update the native pbcs for 12.1, the creation script needed to be fixed.
14:57 dalek parrot: review: https://github.com/parrot/parrot/commit/c52f7c4332
14:57 dalek parrot: eaca4f2 | rurban++ | t/native_pbc/ (4 files):
14:57 dalek parrot: native_pbc for i386 updated
14:57 dalek parrot: review: https://github.com/parrot/parrot/commit/eaca4f2084
14:57 dalek parrot: 9eaa77a | rurban++ | t/native_pbc/ (2 files):
14:57 dalek parrot: native_pbc i386 type 2 (long double) updated
14:57 dalek parrot: review: https://github.com/parrot/parrot/commit/9eaa77a4bf
14:57 brrt the question is, do we want to share memory
14:57 brrt if so, we can probably solve for 'how'
14:58 brrt nemesys calls shared memory 'real concurrency', i am not really convinced i agree
14:58 whiteknight For right now, I'm 100% behind this new design: Direct reads and proxied writes
14:59 rurban_mobile shared memory is a windows hack
14:59 brrt windows and java, then
14:59 whiteknight the simple heuristic of "if this thread doesn't own it, you can't change it" seems to solve a lot of conceptual problems, and is very inline with existing solutions like Erlang, etc
15:00 pmichaud note:  I'm sure it'll be relatively easy to fix, but 97aa16 breaks the rakudo build.
15:00 rurban_mobile I'll be gone for some hours driving back. bdw/move-os has landed. native_pbc would be nice also. threads I'm not so sure.
15:00 pmichaud error:imcc:loadlib directive could not find library `os' in file '(file unknown)' line 1
15:00 rurban_mobile pmichaud: loadlib 'os' is now not needed anymore. It's a pmc
15:01 tadzik whiteknight: oh, I have feedback alright
15:01 tadzik (threads)
15:01 rurban_mobile See https://github.com/parrot/parrot/pull/778/
15:01 tadzik let me find this
15:01 whiteknight I wonder if we can add a hack/workaround that ignores loadlib os for a while
15:02 rurban_mobile hmm, good idea until the next supported release.
15:02 whiteknight pmichaud: One way or another, we'll fix that today
15:02 pmichaud rurban_mobile: sure, I understand that part.  It just means that rakudo can run on either post-97aa16 or pre-97aa16 but not both.
15:02 tadzik okay, I have no gist. But lexical scoping was quite broken there, even in parrot-nqp
15:02 rurban_mobile somewhen we have to do the move. We wanted it before the next release.
15:02 whiteknight tadzik: ah, that's very good to know. I wonder why
15:02 tadzik for stuff like my $x := 42; sub foo { say($x) }; <run thread with foo>
15:03 tadzik I'm at work and can't test it now, but it was something of this sort
15:03 whiteknight tadzik: Okay, I'll look into that before merging anything
15:03 rurban_mobile pmichaud: the next release is next week.
15:03 tadzik whiteknight: I'll try to remember to file a bug when I get back home
15:03 whiteknight tadzik++
15:03 tadzik which is soon, since it's 17 already :)
15:04 rurban_mobile https://gist.github.com/3580241
15:04 JimmyZ the next release is next week? not next next week?
15:04 tadzik that's another thing
15:04 pmichaud release should be sep 18
15:04 tadzik that's nqp with custom lexpads, and rakudo with custom everything
15:04 tadzik but it wasn't even working in parrot-nqp
15:04 rurban_mobile oops, mixed the dates. enough time
15:05 rurban_mobile anyway. I'll be back in ~2 hrs. maybe hack loadlib 'os'
15:05 pmichaud just create a dummy empty os_ops for now.
15:05 pmichaud so that the loadlib doesn't fail.
15:11 whiteknight pmichaud: yes, that's my plan
15:11 pmichaud as long as we're moving things back from dynamic to static...  what's the rational for having 'pow' in trans_ops ?
15:11 whiteknight we'll make sure this is a backwards-compatible change
15:11 pmichaud while 'sqrt' is a core op
15:11 whiteknight pmichaud: make a recommendation, it will be done
15:12 whiteknight (I agree that situation is less than optimal)
15:13 pmichaud I don't have a strong recommendation here; at least nothing that affects rakudo/nqp directly, since we have to load trans_ops either way. (more)
15:14 pmichaud I just know that it seemed very odd to me that sqrt was "core" while pow required loading.  Far more languages have exponentiation as a core operator than have sqrt as a core operator
15:15 pmichaud it also seemed weird that 'pow' was listed as a "transcendental opcode"; I don't normally think of exponentiation as being a transcendental.  So I was surprised that libload 'math_ops' didn't resolve the problem either.  :)
15:16 pmichaud *loadlib
15:28 pmichaud I'm afk again for a while
15:42 MikeFair Hey all!
15:42 MikeFair I'd like to do something like: say("$/") in a rule to find out what got passed into it. What can I do inside the regex to make that happen? I read somewhere that $/ isn't valid in the middle of the match and my attempts have so far yielded nothing but an empty string (despite that there is a match string it is operatng on). I'm just having a really hard time getting this expression right (and it seems like it should be so
15:42 MikeFair easy!)
15:43 MikeFair I'm working on creating the Grammar for my language
15:44 whiteknight MikeFair:  you want to dump the contents of that variable in mid-match?
15:45 MikeFair whiteknight: Well mostly I just want to dump it at match start
15:45 MikeFair whiteknight:{  say("rule_part") } has been working mid-match
15:46 whiteknight hmm, I'm not great with the nqp parsing engine, that's probably a question for one of the p6 guys
15:46 MikeFair whiteknight: Or better yet, perhaps there are some trace keywords I can use
15:46 whiteknight The #perl6 channel on freenode probably has people who know nqp better than I
15:46 MikeFair whiteknight: "It works in rakudo" :)   and "Parrot's NQP is pretty old by now" :)
15:47 MikeFair whiteknight: They say say("$/") should work
15:47 whiteknight I suggest you use the new nqp, not the parrot-nqp that ships with Parrot
15:47 MikeFair LOL!
15:47 MikeFair sounds great!!!!
15:47 whiteknight our version is very old and in the process of being upgraded
15:48 MikeFair How do I do that!?   I've just had access to the tutorials so far and this channel has been fairly quite when I'm working on this
15:49 whiteknight Build and install Parrot on your machine. Then grab a copy of nqp and build that: http://github.com/perl6/nqp.git, I think
15:49 MikeFair I can pull and compile stuff and  have ~/local tree that has the appropriate overrides so I can install stuff in it
15:50 MikeFair whiteknight: Did that (head from like two weeks ago)
15:50 MikeFair whiteknight: will get nqp now
15:55 MikeFair I'm excited to be seeing this begin to take shape but I'm certain I've been encountering bugs in NQP
15:56 MikeFair But it's too difficult for me to distrguish what's a bug from what's my not knowing how this new syntax works yet
15:56 zby_home joined #parrot
15:59 whiteknight yeah, the old parrot-nqp is missing a lot of features that the new one has.
16:00 tadzik whiteknight: https://gist.github.com/3610283
16:01 whiteknight thanks tadzik++
16:17 MikeFair whiteknight: I'm geting: PARROT VM: Could not initialize new interpreter
16:17 MikeFair PackFile_Header_validate: This Parrot cannot read bytecode files with version 12.0.
16:17 MikeFair when I try to run nqp
16:17 MikeFair parrot-nqp seems to work but I can't tell where that came from
16:20 whiteknight hmmm, that's a version mismatch error message. Uninstall/reinstall Parrot and try again
16:20 whiteknight make sure you only have it installed in one place
16:21 MikeFair whiteknight: I originally used --gen-parrot, rebuilding NQP with the --with-parrot=parrot_exe_path instead
16:22 whiteknight I wonder if that created two versions? Just make sure they're both removed so nqp doesn't get confused
16:22 MikeFair whiteknight: --gen_parrot supposedly downloads and builds the right version of parrot for NQP
16:22 whiteknight right
16:22 travis-ci joined #parrot
16:22 travis-ci [travis-ci] parrot/parrot#536 (master - 9eaa77a : Reini Urban): The build was broken.
16:22 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/97aa16a4d827...9eaa77a4bf25
16:22 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2319615
16:22 travis-ci left #parrot
16:27 MikeFair whiteknight: ok so how do I know tell parrot to use the new "nqp" as opposed to the "parrot-nqp"
16:27 MikeFair or did that happen for me automagically
16:28 MikeFair I can tell from the --version outputs that nqp and parrot-nqp aren't the same, nqp giving both its own version and its built-with-parrt version, which is good
16:37 whiteknight they're different programs at the commandline. One is "nqp", the old one is "parrot-nqp"
16:37 MikeFair right
16:37 MikeFair so when I'm using the PCT, and type parrot setup.pir, I'm asuming I have to change something somewhere
16:37 * MikeFair could just alias it and move the old one out of the way
16:37 whiteknight no, the new nqp doesn't use PCT. It has all that parsing stuff built in
16:38 MikeFair so then does invalidate the tutorial instructions?
16:38 whiteknight yes
16:38 * MikeFair nods.
16:38 whiteknight I think somebody is working on a new tutorial for the new language
16:38 MikeFair sorear is I believe
16:39 MikeFair iS the directory structure and files the same at least?  src/lang_name/Grammat|Actions|Runtime.pm
16:39 MikeFair Or do you not know
16:40 MikeFair I just need to know how "modify .pms, type something, execute new compiler"
16:40 MikeFair works
16:40 MikeFair i'll read around the docs, I'm sure it's in there somewhere
16:41 whiteknight yeah, read the docs. I'm kind of useless on this topic for now
17:40 rurban_home joined #parrot
17:59 zabirauf joined #parrot
18:00 zabirauf Hello , Ive just started looking into parrot. Im following the example in the slides http://pmichaud.com/2009/pres/oscon-pct/slides
18:00 zabirauf when i run the grammar which is in http://pmichaud.com/2009/pres/​oscon-pct/slides/slide22a.html i get an error
18:00 zabirauf when i do parrot languagename.pbc --target=parse
18:01 zabirauf then when i put something in the console i gett error "Method 'parse' not found for invocant of class 'Undef'"
18:01 zabirauf does any body know what the problem is and how to resolve it
18:20 rurban_mobile joined #parrot
18:35 zabirauf_ joined #parrot
18:37 sorear MikeFair: I am *not* working on any tutorials
18:58 rurban_mobile joined #parrot
19:10 lucian joined #parrot
19:29 rurban_mobile Wrote the dummy os dynpmc and tests. How long do we keep this dummy?
19:29 rurban_mobile I can add the version number to the test.
19:31 dalek parrot/bdw/move-os: e8eaa7d | rurban++ | / (3 files):
19:31 dalek parrot/bdw/move-os: Provide dummy loadlib "os" for backwards compat
19:31 dalek parrot/bdw/move-os:
19:31 dalek parrot/bdw/move-os: pmichaud does not want to change his sources all around.
19:31 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/e8eaa7de06
19:36 dalek parrot: e8eaa7d | rurban++ | / (3 files):
19:36 dalek parrot: Provide dummy loadlib "os" for backwards compat
19:36 dalek parrot:
19:36 dalek parrot: pmichaud does not want to change his sources all around.
19:36 dalek parrot: review: https://github.com/parrot/parrot/commit/e8eaa7de06
19:41 pmichaud ...really, that's the commit message?  *sigh*
19:42 rurban_mobile why, it's a valid concern.
19:43 rurban_mobile when you fixed it we can get rid of this dummy. so we know whom to ask.
19:47 sorear what.
19:47 pmichaud I never said anything about wanting or not wanting to change the sources.
19:48 dalek parrot: d76bef8 | rurban++ | / (3 files):
19:48 dalek parrot: Provide dummy loadlib "os" for backwards compat
19:48 dalek parrot: review: https://github.com/parrot/parrot/commit/d76bef83f0
19:48 rurban_mobile removed that line, sigh. sorry
19:50 dalek parrot/bdw/move-os: 5a03032 | rurban++ | / (3 files):
19:50 dalek parrot/bdw/move-os: Provide dummy loadlib "os" for backwards compat
19:50 dalek parrot/bdw/move-os: review: https://github.com/parrot/parrot/commit/5a03032c99
19:56 sivoais joined #parrot
20:01 sorear what's going on here and why is it causing strife?
20:01 rurban_home patrick didn't like my commit msg, so I removed it.
20:31 rurban_home it was a stupid msg
20:38 travis-ci joined #parrot
20:38 travis-ci [travis-ci] parrot/parrot#537 (master - e8eaa7d : Reini Urban): The build was broken.
20:38 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/9eaa77a4bf25...e8eaa7de06a6
20:38 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2322713
20:38 travis-ci left #parrot
21:41 travis-ci joined #parrot
21:41 travis-ci [travis-ci] parrot/parrot#538 (master - d76bef8 : Reini Urban): The build was fixed.
21:41 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/e8eaa7de06a6...d76bef83f04f
21:41 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/2322891
21:41 travis-ci left #parrot
22:22 lucian joined #parrot
22:47 whiteknight joined #parrot
22:52 schmooster joined #parrot
23:20 whiteknight good evening, #parrot
23:36 dalek parrot: 352010e | jkeenan++ | MANIFEST (2 files):
23:36 dalek parrot: Update MANIFEST and SKIP to reflect one new, one renamed file.
23:36 dalek parrot: review: https://github.com/parrot/parrot/commit/352010e73c
23:41 Timbus joined #parrot
23:42 dalek joined #parrot
23:42 particle1 joined #parrot
23:43 p6eval joined #parrot
23:43 perlite joined #parrot
23:44 autark joined #parrot
23:44 lucian_ joined #parrot
23:44 PacoAir joined #parrot
23:44 NotFound joined #parrot
23:44 wagle joined #parrot
23:44 GeJ joined #parrot
23:44 MikeFair joined #parrot
23:44 elmex joined #parrot
23:44 arnsholt_ joined #parrot
23:44 benabik joined #parrot
23:44 schmooster joined #parrot
23:44 whiteknight joined #parrot
23:44 lucian joined #parrot
23:44 rurban_home joined #parrot
23:44 Maddingue joined #parrot
23:44 schm00ster joined #parrot
23:44 Patterner joined #parrot
23:44 woosley joined #parrot
23:44 mtk joined #parrot
23:44 jlaire joined #parrot
23:44 simcop2387 joined #parrot
23:44 cosimo joined #parrot
23:44 he joined #parrot
23:44 ttbot joined #parrot
23:44 mj41 joined #parrot
23:44 Coke joined #parrot
23:44 pmichaud joined #parrot
23:44 Util joined #parrot
23:44 sri joined #parrot
23:44 moritz joined #parrot
23:44 Infinoid joined #parrot
23:44 japhb joined #parrot
23:44 jevin_ joined #parrot
23:44 nine joined #parrot
23:44 cxreg joined #parrot
23:44 tokuhirom joined #parrot
23:44 allison joined #parrot
23:44 lizmat joined #parrot
23:44 TonyC joined #parrot
23:44 eternaleye joined #parrot
23:44 nopaste joined #parrot
23:44 woolfy_ joined #parrot
23:44 Hunger joined #parrot
23:44 pjcj joined #parrot
23:44 nemesys joined #parrot
23:44 kid51 joined #parrot
23:44 rurban joined #parrot
23:45 alvis joined #parrot
23:45 sivoais joined #parrot
23:45 atrodo joined #parrot
23:45 tadzik joined #parrot
23:45 PerlJam joined #parrot
23:45 dukeleto joined #parrot
23:45 knewt joined #parrot
23:45 drift joined #parrot
23:45 dngor joined #parrot
23:49 slavorg joined #parrot
23:58 whiteknight netsplit--

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

Parrot | source cross referenced