Camelia, the Perl 6 bug

IRC log for #parrot, 2011-07-25

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 theory left #parrot
00:08 ascent joined #parrot
00:29 lucian left #parrot
00:41 bluescreen left #parrot
00:44 theory joined #parrot
00:51 theory left #parrot
01:01 contingencyplan left #parrot
01:30 plobsing joined #parrot
01:45 dalek Rosella: 03093bc | Whiteknight++ | src/include/String.winxed:
01:45 dalek Rosella: forward declarations for String
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/03093bcf61
01:45 dalek Rosella: 96b3070 | Whiteknight++ | src/include/ (2 files):
01:45 dalek Rosella: Forward declarations for Test
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/96b30707a6
01:45 dalek Rosella: ec3b1f4 | Whiteknight++ | src/unstable/template/handler/If.winxed:
01:45 dalek Rosella: Update Template.Handler.If to fix tests
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ec3b1f4a78
01:45 dalek Rosella: 0dce89e | Whiteknight++ | src/ (9 files):
01:45 dalek Rosella: forward declarations for FileSystem, Path, Proxy. Build is now mostly warnings-free
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/0dce89e092
01:45 dalek Rosella: ff096c5 | Whiteknight++ | src/event/ (2 files):
01:45 dalek Rosella: A few small cleanups for Event
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ff096c551e
01:45 dalek Rosella: 4ebf95f | Whiteknight++ | src/harness/ (5 files):
01:45 dalek Rosella: Several cleanups in Harness
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/4ebf95f74f
01:45 dalek Rosella: 3da8a5f | Whiteknight++ | src/memoize/ (3 files):
01:45 dalek Rosella: cleanups for Memoize
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/3da8a5f29f
01:45 dalek Rosella: c1342e3 | Whiteknight++ | src/mockobject/ (9 files):
01:45 dalek Rosella: Cleanups/updates to MockObject
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c1342e34ed
01:45 dalek Rosella: 9137824 | Whiteknight++ | src/ (16 files):
01:45 dalek Rosella: Cleanups and fixes for Proxy
01:45 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/9137824674
01:46 dalek Rosella: 728910b | Whiteknight++ | src/query/ (3 files):
01:46 dalek Rosella: cleanups to Query
01:46 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/728910bd77
01:46 dalek Rosella: 7c1a624 | Whiteknight++ | src/test/ (8 files):
01:46 dalek Rosella: Some cleanups and fixes for Test
01:46 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/7c1a624518
01:46 whiteknight left #parrot
01:48 theory joined #parrot
02:12 woosley joined #parrot
02:13 theory left #parrot
02:18 theory joined #parrot
02:18 theory left #parrot
02:37 cotto ~~
02:47 jsut_ joined #parrot
02:52 jsut left #parrot
03:00 Kulag left #parrot
03:01 Kulag joined #parrot
04:00 soh_cah_toa left #parrot
04:06 Kulag left #parrot
04:28 Kulag joined #parrot
04:33 dalek parrot/m0-prototype: 2f76eee | cotto++ | t/m0/integration/m0_chunk_name_const.m0:
04:33 dalek parrot/m0-prototype: expand the chunk name constants teswt a bit
04:33 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/2f76eee724
04:40 soh_cah_toa joined #parrot
05:09 Kulag left #parrot
05:09 Kulag joined #parrot
05:10 dalek rakudo/nom: ed26e45 | pmichaud++ | / (4 files):
05:10 dalek rakudo/nom: An initial implementation of $*ARGFILES and lines().
05:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed26e45aea
05:15 Kulag left #parrot
05:17 Kulag joined #parrot
05:26 cotto dukeleto, you alive?
05:26 cotto seen dukeleto
05:26 aloha dukeleto was last seen in #parrot 8 hours 11 mins ago saying "lucian: probably both".
05:26 cotto promising
05:27 fperrad joined #parrot
05:28 Kulag left #parrot
05:32 cotto dukeleto, I'm thinking about libraries in M0.  I'm not convinced of chromatic's idea that pure M0 userspace code can be used to load a library without a dedicated instruction.
05:32 cotto The chunk name constants stuff I just added (see https://github.com/parrot/parrot/blob/m0-prot​otype/t/m0/integration/m0_chunk_name_const.m0 ) is one component of proper library support, but there are others.
05:32 cotto M0 currently has only a weak concept of a "main" chunk (run by default when a m0b is executed directly) and no concept of a chunk to be run when a m0b file is loaded as a library.
05:33 Kulag joined #parrot
05:34 cotto I
05:36 cotto I'm currently cheating by using string encoding #0 to indicate that the value is a chunk name and should be replaced with the index of the relevant chunk when the m0b file is loaded.
05:37 cotto It's a tad hacky, but I don't think the extra bit in the encoding field will be missed.
05:49 soh_cah_toa left #parrot
05:55 Kulag left #parrot
05:59 Kulag joined #parrot
06:14 dalek nqp: b5f2c5d | pmichaud++ | src/HLL/Compiler.pm:
06:14 dalek nqp: -e option to HLL::Compiler needs to pass an arg0.
06:14 dalek nqp: review: https://github.com/perl6/nqp/commit/b5f2c5dc7f
06:32 dalek rakudo/nom: ad0bb3f | pmichaud++ | tools/build/NQP_REVISION:
06:32 dalek rakudo/nom: Bump NQP_REVISION to get -e argument handling fix.
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ad0bb3ffd5
06:32 dalek rakudo/nom: 953c714 | pmichaud++ | src/ (3 files):
06:32 dalek rakudo/nom: Clean up $*ARGFILES, .lines, .eof, and .get.
06:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/953c7146f8
06:38 he joined #parrot
06:55 Kulag left #parrot
06:55 Kulag joined #parrot
07:05 mj41 joined #parrot
07:10 Kulag left #parrot
07:10 Drossel joined #parrot
07:22 Drossel left #parrot
07:28 Kulag joined #parrot
07:37 Kulag left #parrot
07:38 Kulag joined #parrot
07:43 Kulag left #parrot
07:43 Drossel joined #parrot
08:05 daniel-s left #parrot
08:09 Drossel left #parrot
08:11 Kulag joined #parrot
08:33 contingencyplan joined #parrot
08:46 Kulag left #parrot
08:47 Kulag joined #parrot
08:53 Kulag left #parrot
09:02 dafrito joined #parrot
09:06 Kulag joined #parrot
09:46 Kulag left #parrot
09:59 woosley left #parrot
10:25 marc_ left #parrot
10:39 Kulag joined #parrot
10:40 dod left #parrot
10:44 dod joined #parrot
11:08 dalek Rosella: 2e3f4ba | Whiteknight++ | src/unstable/template/Engine.winxed:
11:08 dalek Rosella: Experimental recursion-limiting code for Template.Engine
11:08 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2e3f4ba570
11:17 fperrad_ joined #parrot
11:18 cosimo left #parrot
11:18 cosimo joined #parrot
11:20 fperrad left #parrot
11:20 fperrad_ is now known as fperrad
11:29 contingencyplan left #parrot
11:43 dalek rakudo/nom: 512670d | moritz++ | / (3 files):
11:43 dalek rakudo/nom: enable ro-accessors for natively typed attributes
11:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/512670db52
12:06 ambs joined #parrot
12:15 RobertLJ joined #parrot
12:16 bluescreen joined #parrot
12:33 whiteknight joined #parrot
12:33 whiteknight good morning, #parrot
13:02 RobertLJ1 joined #parrot
13:02 daniel-s joined #parrot
13:06 RobertLJ left #parrot
13:12 bubaflub joined #parrot
13:12 bubaflub ~
13:16 bubaflub_ joined #parrot
13:18 bubaflub left #parrot
13:18 bubaflub_ is now known as bubaflub
13:22 atrodo =~
13:31 dalek Rosella: 9c8b298 | Whiteknight++ | src/unstable/template/ (2 files):
13:31 dalek Rosella: Refactor Template.Engine out a bit to be cleaner. Implement recursion-limiting. Break logic into easily-subclassable chunks.
13:31 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/9c8b298a58
13:31 dalek Rosella: b0c4f02 | Whiteknight++ | src/unstable/template/Engine.winxed:
13:31 dalek Rosella: +comment
13:31 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b0c4f020e4
13:31 bubaflub left #parrot
13:32 bubaflub joined #parrot
13:39 Coke msg kid51 saw the request to restart, saw the "nevermind", but I did it anyway, it's been at least a week.
13:39 aloha OK. I'll deliver the message.
13:40 * Coke ughs at the closing of #849.
13:41 Coke (yes, I didn't respond to jim's request, honestly I don't remember seeing it.) ah well, one more thing hlls can do on their own with some C.
13:44 whiteknight I'm not sure I agree with closing it either. Of course, I'm probably not going to implement it myself, so I can't complain
13:45 whiteknight Doesn't mean Parrot can't have it. Just means there isn't a ticket
13:53 Coke I assume it's a waste of my time to, when I'm the original poster, to say "of course I still want this ticket"
13:56 daniel-s left #parrot
13:59 he left #parrot
13:59 whiteknight I wouldn't say it's a waste of time. I don't know who is going to implement it
13:59 whiteknight dukeleto probably knows how, but he says it's going to be a mess of platform-specific code
14:00 whiteknight that doesn't sound promising
14:02 whiteknight of course, maybe that doesn't matter. We have lots of open tickets that clearly no particular person is tackling right now
14:04 preflex_ joined #parrot
14:04 contingencyplan joined #parrot
14:07 preflex left #parrot
14:16 Kulag left #parrot
14:16 Kulag joined #parrot
14:42 daniel-s joined #parrot
14:50 Felipe morning guys
14:50 whiteknight good morning Felipe
14:58 Coke if I'm on a feature branch, should I be merging from master using --no-ff or not?
15:00 moritz with --no-ff, IMHO
15:01 RobertLJ1 left #parrot
15:03 daniel-s left #parrot
15:33 whiteknight how would a  running .pbc file determine if it's being run from its development or install directory?
15:34 dalek nqp: dc942fb | pmichaud++ | src/QRegex/Cursor.nqp:
15:34 dalek nqp: Have !cursor_start create failing cursors by default.  Fixes problem with default alpha/alnum/upper/etc. rules not failing properly (moritz++).
15:34 dalek nqp: review: https://github.com/perl6/nqp/commit/dc942fb3a0
15:34 moritz compare the full with the prefix configure option?
15:35 moritz *full path
15:39 whiteknight how do I get the full path of a loaded bytecode file?
15:41 moritz you patch whatever part it is that loads the bytecode file to make that information available to you
15:42 whiteknight heh, I was hoping that wasn't the answer
15:43 moritz would make fixing http://trac.parrot.org/parrot/ticket/1833 a lot easier, I think
15:46 whiteknight okay, I'm sold. I'll start fixing
15:46 moritz mind you, there might already be a way that I don't know about
15:47 whiteknight I don't think there is
15:52 dalek rakudo/nom: 3c8f0b6 | pmichaud++ | src/Perl6/Compiler.nqp:
15:52 dalek rakudo/nom: Fix bug in interactive mode introduced by @*ARGS changes.
15:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c8f0b6044
15:52 dalek rakudo/nom: d973a42 | pmichaud++ | / (2 files):
15:52 dalek rakudo/nom: Bump NQP_REVISION to get alpha/alnum/digit/etc. fixes.
15:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d973a42f8a
16:00 dalek parrot/whiteknight/packfile_path: 0a84eb7 | Whiteknight++ | / (4 files):
16:00 dalek parrot/whiteknight/packfile_path: Add a new IGLOBALS_LOADED_PBCS global to be a cache for load_bytecode_p_s. Add a ->path attr to packfile view to optionally hold the string path of the packfile, if it was loaded from a file with load_bytecode_p_s
16:00 dalek parrot/whiteknight/packfile_path: review: https://github.com/parrot/parrot/commit/0a84eb7590
16:01 whiteknight $P0 = load_bytecode "foo.pbc" \n $S0 = $P0 \n say $S0
16:01 whiteknight should return the complete path
16:02 whiteknight or, whatever path was used to load it
16:03 moritz whiteknight++
16:03 whiteknight that won't fix TT #1833. I need to look at that more closely
16:18 cotto ~~
16:20 theory joined #parrot
16:24 mj41 left #parrot
16:26 whiteknight you know what I absolutely hate? Things like get_string/set_string_native
16:26 whiteknight why can't they be named similarly?
16:27 theory left #parrot
16:27 benabik joined #parrot
16:31 dalek parrot/whiteknight/packfile_path: 5ef23c5 | Whiteknight++ | src/pmc/packfileview.pmc:
16:31 dalek parrot/whiteknight/packfile_path: get_string_native -> get_string. Why? LOLWTF, that's why.
16:31 dalek parrot/whiteknight/packfile_path: review: https://github.com/parrot/parrot/commit/5ef23c59e1
16:36 dodathome joined #parrot
16:42 dukeleto ~~
16:42 dukeleto lolwtf++
16:45 whiteknight dukeleto: I'd like to hear more of your thoughts about TT #849
16:45 whiteknight I don't know much about filetimes, but kid51 mentioned that you suggested it would be a pain
16:49 dukeleto whiteknight: it is just very platform-specific code to deal with setting filetime attributes
16:49 dukeleto whiteknight: because stat() has a sligthly different datastructure across OS's
16:53 mj41 joined #parrot
16:54 whiteknight dukeleto: does it need more granularity than is provided by our current filesystem routines in src/platforms/*?
16:55 dukeleto whiteknight: not sure. all i really told kid51++ was "that is not a 10 minute task, it requires understanding and testing on all our supported platforms"
16:56 dukeleto whiteknight: i don't know much more than that
16:56 whiteknight gotcha
16:57 whiteknight I don't even know how we would do automated testing with it. I know platforms like windows are explicitly not set up to have GetFileTimes return the same values as SetFileTimes, etc
16:57 whiteknight and that those kinds of updates might be delayed
16:58 theory joined #parrot
17:05 soh_cah_toa joined #parrot
17:06 theory left #parrot
17:09 particle1 joined #parrot
17:10 theory joined #parrot
17:10 cotto_work ~~
17:14 particle left #parrot
17:23 dalek Rosella: 6a8df57 | Whiteknight++ | src/unstable/utilities/mk_winxed_header.winxed:
17:23 dalek Rosella: add in a new test utility, which reads in a .pbc file and creates a winxed header file from it
17:23 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6a8df5776b
17:23 dalek Rosella/new_load_bytecode: 26d08bc | Whiteknight++ | / (2 files):
17:23 dalek Rosella/new_load_bytecode: Update some infrastructure, and update a test to see how the new loading system will look
17:23 dalek Rosella/new_load_bytecode: review: https://github.com/Whiteknig​ht/Rosella/commit/26d08bc81e
17:25 particle1 is now known as particle
17:34 theory left #parrot
17:45 cotto_work dukeleto: ping
17:47 tadzik ~~
17:53 dukeleto cotto_work: pong
17:53 dukeleto tadzik: how goes it? how is your gsoc project going?
17:57 soh_cah_toa left #parrot
18:03 dmalcolm joined #parrot
18:05 lg_quassel left #parrot
18:06 whiteknight benabik: ping
18:06 theory joined #parrot
18:06 benabik whiteknight: pong
18:07 whiteknight benabik: have you heard from bacek lately?
18:07 tadzik dukeleto: crap. My laptop's broken. I'm trying to set up another workstation, but I'll definitely have some slips in the schedule :/
18:08 benabik whiteknight: Nyet.
18:09 dukeleto tadzik: PROTIP: save a VM image of your basic workstation, to insure against this happening in the future
18:10 darbelo joined #parrot
18:11 theory left #parrot
18:11 tadzik dukeleto: the working environment the smallest of problems
18:16 whiteknight benabik: okay, then we are overdue for a meeting. When is good for you?
18:16 benabik whiteknight: I'm pretty open today & tomorrow.
18:28 pyrimidine joined #parrot
18:29 cotto_work dukeleto: did you happen to see my ramblings about libraries and M0 last night? ( http://irclog.perlgeek.de/p​arrot/2011-07-25#i_4163958 )
18:33 cotto_work afk 15m
18:33 ambs left #parrot
18:34 fperrad left #parrot
18:35 ambs joined #parrot
18:37 dukeleto left #parrot
18:38 bluescreen left #parrot
18:39 bluescreen joined #parrot
18:39 dalek nqp: 4fb5124 | pmichaud++ | src/QAST/Compiler.nqp:
18:39 dalek nqp: Avoid vtable_bool for determining whether subrule passed/failed.
18:39 dalek nqp: review: https://github.com/perl6/nqp/commit/4fb512421c
18:48 dalek rakudo/nom-install: 6a45ccb | moritz++ | / (2 files):
18:48 dalek rakudo/nom-install: try to make nom installable
18:48 dalek rakudo/nom-install:
18:48 dalek rakudo/nom-install: This is... wrong. It installs rakudo's pbcs into the general parrot install
18:48 dalek rakudo/nom-install: location, because I can't figure out where the pbcs are actually loaded, and
18:48 dalek rakudo/nom-install: how. On the plus side it gives us an idea what files need to be installed.
18:48 dalek rakudo/nom-install:
18:48 dalek rakudo/nom-install: It gets us so far that we can actually run the perl6 binary from outside the
18:48 dalek rakudo/nom-install: installation path, but using an Int literal results in "Could not locate
18:48 dalek rakudo/nom-install: compile-time value for symbol Int"
18:48 dalek rakudo/nom-install: review: https://github.com/rakudo/rakudo/commit/6a45ccbae0
18:50 cotto_work back
18:51 dukeleto joined #parrot
18:53 dukeleto cotto_work: what exactly can't M0 do in regard to loading libraries?
18:54 cotto_work dukeleto: load other M0 libraries
18:54 cotto_work (without assuming something about the underlying implementation)
18:54 dukeleto cotto_work: explain the exact use case to me that is needed and why it is currently impossible. I ask because I have looked away from M0 for a few weeks, so I don't know all the latest details
18:55 * dukeleto will be back in 10min
18:56 cotto_work dukeleto: the use case is any library-like thing, e.g. dynpmcs, dynops or anything that wants to extend what an M0-based Parrot can do.
18:57 cotto_work dukeleto: It's currently impossible because M0 doesn't have any facility for loading more than one .m0b file.
18:57 Coke do we want to be able to extend from M0?
18:58 cotto_work Coke: if Parrot is to be based on M0, yes.  (by "from M0", I assume you mean "from anything that compiles down to M0")
19:08 bluescreen left #parrot
19:08 dukeleto Coke: extend in what sense?
19:08 bluescreen joined #parrot
19:09 dukeleto cotto_work: well, i see different paths. One path is "there can be only one m0b file loaded at a time", which means you make sure that there is a utility to combine many m0b files together into a combined m0b file
19:10 dukeleto cotto_work: or you go down the path of loading arbitrary numbers of m0b files
19:10 dukeleto cotto_work: one issue i see is runtime loading
19:10 bubaflub left #parrot
19:11 dukeleto cotto_work: i.e. loading of m0b at run-time. That pretty much requires the ability to load arbitrary numbers of m0b files, since we have to do a load at compile time first, and then possibly runtime m0b loading later
19:11 bubaflub joined #parrot
19:11 dukeleto cotto_work: what does the spec have to say about loading multiple m0b files? anything?
19:15 cotto_work dukeleto: nothing yet
19:15 cotto_work That's why I'm thinking about it.
19:19 dukeleto cotto_work: sounds like we need to modify the in-memory state of the m0 interp when we load m0b at compile or run-time, and we need to explicit about the semantics that are expected
19:19 dukeleto s/to explicit/to be explicit/
19:20 cotto_work dukeleto: yes
19:29 dalek rakudo/nom: 91d7ab5 | pmichaud++ | tools/build/NQP_REVISION:
19:29 dalek rakudo/nom: Bump NQP_REVISION to get cursor boolean fixes.  (moritz++)
19:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91d7ab5ffd
19:34 soh_cah_toa joined #parrot
19:35 dalek Rosella: ceceef4 | Whiteknight++ | / (10 files):
19:35 dalek Rosella: Make sure template files get installed to a shared data location. Add a dirty lookup routine to find a template in a standard area. Move templates to a better directory
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ceceef4883
19:35 dalek Rosella: c9772dc | Whiteknight++ | src/unstable/utilities/test_all_lib.winxed:
19:35 dalek Rosella: Add in a stub for a new driver program
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c9772dcd7b
19:35 dalek Rosella: 83ee6da | Whiteknight++ | / (5 files):
19:35 dalek Rosella: +new Repeat handler to do basic integer counting
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/83ee6daae4
19:35 dalek Rosella: d1349cb | Whiteknight++ | / (2 files):
19:35 dalek Rosella: Small fixes and a few tests for Repeat
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/d1349cb0bc
19:35 dalek Rosella: 4171919 | Whiteknight++ | / (2 files):
19:35 dalek Rosella: Repeat can take context keys too
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/4171919b2a
19:35 dalek Rosella: f11a428 | Whiteknight++ | / (2 files):
19:35 dalek Rosella: Repeat now has FIRST and LAST markers, like For loop
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/f11a428a91
19:35 dalek Rosella: f8f0cda | Whiteknight++ | rosella/data/templates/test.winxed.template:
19:35 dalek Rosella: Updates to the test.winxed template. Use Repeat loop and method arity value to automatically create argument variables
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/f8f0cdaff4
19:35 dalek Rosella: c3ef840 | Whiteknight++ | rosella/data/templates/test.winxed.template:
19:35 dalek Rosella: small cleanups
19:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c3ef840a04
19:38 Kulag left #parrot
19:38 Kulag joined #parrot
19:42 jay joined #parrot
19:47 silug left #parrot
19:49 jay I'm back from my conference, returning to the benchmark question.  Anyone around?
19:50 whiteknight hello jay
19:50 jay Hello!
19:50 whiteknight which conference were you at?
19:50 jay Just a small workshop up at Wesleyan.  Next week is the big one in Miami.
19:50 whiteknight oh, which one is that?
19:51 jay Joint Statistical Meetings, JSM
19:51 jay So I'm just playing with squaak for starters.  Two steps seem to work, using the 00-sanity.t file:
19:51 jay ./installable_squaak --target=pir 00-sanity.t > foo.pir
19:52 jay parrot -o foo.pbc foo.pir
19:52 jay Then I try to run it (possibly in the wrong way);
19:52 jay parrot foo.pbc
19:52 jay jay@bayesman:~/Desktop/SVN/Q/squaak$ parrot foo.pbc
19:52 jay invoke() not implemented in class 'Undef'
19:52 jay current instr.: '_block1000' pc 74 (foo.pir:38) (00-sanity.t:2)
19:52 whiteknight the generated .pir file probably doesn't have all the necessary setup logic
19:53 whiteknight in your compiler driver program, there is some setup logic that needs to be duplicated in the generated .pir files.
19:53 whiteknight We need to figure out how to put that there
19:54 jay Ok.  If it's not the sort of thing I can reasonably figure our (or if it would take you too much time) it is not a big deal.  It's just that the straight-up benchmarks of NQR vs R weren't really that good.
19:57 whiteknight yeah, Parrot is always going to have a certain amount of overhead beyond what a well-written C program has
19:57 whiteknight VM startup time, then opcode dispatch time on each opcode
19:57 whiteknight JIT can help make the second factor go away
19:57 whiteknight we don't have that yet, however
19:58 jay And of course there are plenty of other things i could work on.  Question: I haven't grepped for it yet, but your matrixy Actions file had things like !index_assign... is this contained in matrixy someplace?
19:58 whiteknight yeah, there were several files with helper routines like that
19:58 jay Yeah, Just found one... in builtins it appears.
19:59 whiteknight Matrixy was done back before I had written PLA, so I didn't have native matrix types to play with. All the "matrices" I was using were arrays of arrays, so I needed helper routines to work with them
19:59 whiteknight plus, I was trying to support some of the really ugly assignment syntax, so some things got crazy pretty quick
20:00 jay Ok.  I may just try to fix up the most basic atomic assignments at this point and not attempt the more complex ones.
20:01 whiteknight jay: In the matrixy TOP grammar action method, I was using a small inline block to add initialization PIR code to the top of various files
20:01 whiteknight you can probably do the same in NQR
20:02 jay Just a sec, I'll peek
20:02 whiteknight Anything that isn't required by the parser at compile time can probably be moved into a similar block so that it is added to the generated pir
20:04 whiteknight I'll have to take a look at this compile thing, see what is missing from the generated PIR file
20:04 jay Ok, I see it.... .get_results ... and !_final_exception_handler, with a try().  I could compare that to mine.
20:05 whiteknight jay: Can you gist me the contents of that foo.pir file?
20:05 whiteknight gist.github.com
20:05 jay Sure, just a second.
20:05 whiteknight since I can't run it here
20:06 jay Remember, I'm just trying this with squaak, not NQR.  Got to be easier...
20:06 jay https://gist.github.com/1105053
20:08 dalek NQR: 85184e1 | (Jay Emerson)++ | / (2 files):
20:08 dalek NQR: Getting back to work...
20:08 dalek NQR: review: https://github.com/NQRCore/NQR/commit/85184e1765
20:08 whiteknight oh, squaak. Right
20:09 jay I figure if I can't do the same thing with squaak, first, I don't have a chance with NQR.
20:10 whiteknight okay, the generated PIR code here is very wrong
20:10 whiteknight new $P100, "Undef"
20:10 whiteknight $P100("1..25")
20:10 whiteknight clearly, that sequence is going to throw an exception
20:11 jay The 00-sanity.t file runs just fine with           parrot setup.pir           in squaak, of course.  So it must be the compilation process that led to that foo.pir?
20:11 soh_cah_toa left #parrot
20:13 jay ./installable_squaak --target=pir 00-sanity.t > foo.pir
20:14 jay be right back
20:14 whiteknight open up that foo.pir file, and at the top of the first function, add a line "load_language 'Squaak'"
20:15 whiteknight then compile to .pbc and try to run it
20:15 whiteknight it's not loading in the runtime at all, and I don't know what the best way to do that is
20:15 whiteknight When you run it from the compiler, the compiler is already loaded in memory so all the methods it uses are in memory too
20:16 whiteknight when you're running it as that pir file, the compiler-related details aren't being loaded anywhere
20:22 theory joined #parrot
20:23 theory left #parrot
20:34 dodathome left #parrot
20:37 jay ~~ sorry, had to meet a workman out back.
20:37 jay Will try that now...
20:39 Coke who is our GSOC org admin this year? duke or whiteknight?
20:39 jay Bingo!  Ok, will document that before I lose it.  whiteknight++
20:39 whiteknight both
20:39 Coke (are we setup to get paid?)
20:39 whiteknight jay: Okay, that's the thing you can add to that TOP rule
20:39 whiteknight Coke: I have no idea right now
20:40 Coke we should start the ball rolling out that now, not at program end.
20:40 whiteknight I'll talk to dukeleto about it
20:40 Coke also, who is getting sent to the mentor conf?
20:40 Coke draw straws? you and duke?
20:40 whiteknight I'm certainly not going. I don't know who is, if anybody
20:41 Coke We should definitely send someone.
20:41 dukeleto Coke: i think we have 3 slots. I would like to go, so that leaves two open slots
20:41 dukeleto Coke: the extra slot is because we were part of gci as well
20:43 Coke I will go if you cannot find any other volunteers. ;)
20:43 jay whiteknight: it also worked on my nqr benchmark.  With the particular benchmark I did, it made essentially no difference.  I need to try it with another example that has more interpreted code and less compiled C code I htink.
20:43 Coke but given my current level of involvement in the org, I should probably not be at the top fo the list.
20:44 cotto_work I think I'd be up for it.
20:45 cotto_work Hmmm.  The first day is the new end of the world.  That might make it tricky.
20:46 cotto_work dukeleto: you have a release right before then.
20:47 Coke someone can cover for him if needed.
20:47 cotto_work Coke: sure.  I bring it up because now would be a good time to reschedule.
20:48 * Coke ponders an automatic build process for the docs on the docs server.
20:48 cotto_work Coke++
20:48 cotto_work It'd be nearly trivial.  You wouldn't even need a full build.
20:49 Coke whiteknight: you merged a branch yes? Please update NEWS.
20:50 Coke cotto_work: no, just the bare minimum of tools.
20:50 whiteknight Coke: Will do. I have more coming. I'll make a few updates together
20:51 whiteknight cotto_work: If you get a spare moment, can you take a look at the whiteknight/packfile_path branch. I think there is win here, I would like a sane second opinion
20:52 cotto_work whiteknight: is that worth caching?
20:52 cotto_work load_bytecode_* doesn't happen that often.
20:53 dukeleto cotto_work: i timed my release to be near the summit :)
20:53 cotto_work dukeleto: wfm.  I'm happy as long as you know what you're getting into.
20:54 whiteknight cotto_work: that's what we were talking about yesterday. At the very least, it prevents us from loading the same .pbc file twice, then getting conflicts when the various functions are imported into existing namespaces, etc
20:54 whiteknight What I'm most uncertain about is adding the file path information to the PackfileView PMC
20:55 dukeleto to clarify: we need to decide on one GSoC mentor and one GCI mentor to attend the summit
20:55 cotto_work whiteknight: ok.  I'd ask how it'll support loading a .pbc file that's expected to have changed, but I don't think we have any facility to unload a library.
20:56 whiteknight with the cache, we have a path to it
20:56 soh_cah_toa joined #parrot
20:56 whiteknight right now, we GC register every PackfileView that we create, to simulate old-style behavior
20:57 whiteknight instead, we can keep them in that cache most of the time. When we delete the from the cache they can be GC collected and destroyed
20:57 whiteknight also, we could have a manual unloading process which removes it from the cache and destroys explicitly
20:57 whiteknight although we have to think very very hard about some of the consequences
20:57 cotto_work pmc2c-- for not catching get_string_native
20:58 whiteknight pmc2c-- for everything
20:58 cotto_work and pmc2c-- again just because
20:58 cotto_work whiteknight: the branch isn't very scary.
20:58 whiteknight no, it's very easy, and I think it will be very helpful
20:58 cotto_work I'm afraid you may not end up being able to break master with it.
20:58 bluescreen left #parrot
20:59 whiteknight What we can do is load a library, that library can load itself to get its own reference from the cache, look at it's own file path, and determine where it lives, if it is installed or not, etc
21:00 whiteknight or a program can do similar to determine if it is using an installed, or local version of a particular dependency
21:00 cotto_work if it really wants to
21:00 whiteknight right
21:00 whiteknight Anyway, I'm packing up now, I'll be back on later
21:00 whiteknight left #parrot
21:09 ambs left #parrot
21:13 benabik left #parrot
21:14 bluescreen joined #parrot
21:15 cotto_work There's finally a program that can bang on the keyboard until it magically fixes a bug: http://epr.adaptive.cs.unm.edu/about.html
21:20 cotto_work That'll save me all kinds of time.
21:36 bubaflub left #parrot
21:36 bubaflub joined #parrot
21:41 bluescreen left #parrot
21:43 Psyche^ joined #parrot
21:47 silug joined #parrot
21:48 Patterner left #parrot
21:48 Psyche^ is now known as Patterner
21:56 bubaflub left #parrot
22:13 mj41 left #parrot
22:23 dalek NQR: 564d25d | (Jay Emerson)++ | / (2 files):
22:23 dalek NQR: Updated to allow compilation of scripts
22:23 dalek NQR: review: https://github.com/NQRCore/NQR/commit/564d25d3ea
22:32 soh_cah_toa left #parrot
22:44 whiteknight joined #parrot
22:52 vm joined #parrot
22:59 vm left #parrot
23:01 kid51 joined #parrot
23:23 whiteknight good evening, #parrot
23:23 kid51 whiteknight, good evening
23:23 whiteknight hello kid51
23:23 whiteknight I got your emails. I didn't think those accounts looked suspicious at all
23:24 whiteknight of course, it all depends what they do with it
23:24 kid51 We had one spam ticket over the weekend.
23:24 kid51 Those accounts did not supply a human name.
23:24 whiteknight yeah, and I shut down ticket creation again in response
23:25 kid51 okay, I did not know that.  Thanks.
23:25 whiteknight we did make it a few days without any spam tickets, but any is too many
23:27 Felipe good evening
23:27 kid51 My approach is: When I get the new registration notification, I scan #parrot, parrot-dev, etc., so I can get a feel for the legitimacy of the registration.  If there's any chance it's legit, I grant ticket creation/modification privileges.
23:27 kid51 Granted, that's a 2nd best approach.  But it WFM.
23:28 whiteknight I was really hoping somebody might have found a capcha solution by now
23:28 whiteknight the fact that we can't easily find such a thing, and a few other factors, really makes me worry that trac is not as actively developed as we might like
23:29 Felipe yeah :()
23:29 soh_cah_toa joined #parrot
23:30 Felipe Trac Spam Filtering is the one being used right now?
23:30 Coke has anyone been looking for a captcha solution?
23:30 cotto_work We're using a human-based solution.
23:31 whiteknight we're using the iron curtain solution
23:31 whiteknight no tickets, period
23:31 Felipe http://trac.edgewall.org/wiki/SpamFilter
23:31 kid51 whiteknight: You turned off *all* ticket creation?
23:32 whiteknight kid51: No, only from the group of users that, I would hope, would have the most feedback for us
23:32 kid51 k
23:34 cotto_work What was the reason we turned off svn integration with trac?  Doing so also disabled git integration.
23:34 whiteknight something something something with smolder
23:34 whiteknight ...if I remember correctly
23:38 dalek parrot: 0a84eb7 | Whiteknight++ | / (4 files):
23:38 dalek parrot: Add a new IGLOBALS_LOADED_PBCS global to be a cache for load_bytecode_p_s. Add a ->path attr to packfile view to optionally hold the string path of the packfile, if it was loaded from a file with load_bytecode_p_s
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/0a84eb7590
23:38 dalek parrot: 5ef23c5 | Whiteknight++ | src/pmc/packfileview.pmc:
23:38 dalek parrot: get_string_native -> get_string. Why? LOLWTF, that's why.
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/5ef23c59e1
23:39 theory joined #parrot
23:41 whiteknight src/pmc/packfileconstanttable.pmc: "If something goes wrong, blame NotFound."
23:41 whiteknight that made me laugh. Excellent
23:53 kid51 whiteknight: Is this branch deletable?  whiteknight/pbc_pbc
23:53 whiteknight I think i deleted it a few minutes ago
23:54 kid51 Hmm ... another case where 'git branch -a' shows branches which no longer exist
23:54 kid51 $ git branch -a | grep pbc_pbc
23:54 kid51 origin/whiteknight/pbc_pbc
23:54 whiteknight did you git pull?
23:55 kid51 Yes.  Got "up to date"
23:58 dalek parrot/whiteknight/imcc_tag: 7fe5102 | Whiteknight++ | src/pmc/packfileconstanttable.pmc:
23:58 dalek parrot/whiteknight/imcc_tag: Update PackfileConstantTable PMC to allow for the new tags mechanism
23:58 dalek parrot/whiteknight/imcc_tag: review: https://github.com/parrot/parrot/commit/7fe5102698

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

Parrot | source cross referenced