Perl 6 - the future is here, just unevenly distributed

IRC log for #parrot, 2014-10-09

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
01:40 FROGGS_ joined #parrot
02:10 kid51_ joined #parrot
04:03 MikeFair joined #parrot
06:40 rurban joined #parrot
06:51 FROGGS joined #parrot
07:35 FROGGS joined #parrot
07:44 FROGGS rurban: are there any flags that will trigger to show the <<mk_const '"foo\\o"'>> ?
07:53 FROGGS rurban: when I fiddle with imcc.y, do I have to 'make' a special incantation to get my changes built?
07:53 FROGGS I just did a 'make install' and recompiled nqp and rakudo, but it has no effect whatsoever
07:57 FROGGS so probably 'make clean && make reconfig && make install' might do?
08:04 rurban I added a special trace flag 8 for this, private branch so far
08:04 FROGGS how do I enable the tracing using that flag?
08:04 rurban for imcc.y changes, yes, you have to add —maintainer (so that bison will process the .y)
08:05 FROGGS I'm on rurban/lexqnames-gh1095
08:05 FROGGS ohh
08:05 rurban I'll push my branch (heavy in work)
08:05 FROGGS good to know
08:06 FROGGS so, make -maintainer install?
08:06 FROGGS or is it a configure option
08:06 FROGGS ahh, found it
08:06 dalek parrot/rurban/lexqnames-gh1095-dev: e866659 | rurban++ | / (9 files):
08:06 dalek parrot/rurban/lexqnames-gh1095-dev: WIP development only: add -t8 flag, unescape in mk_const
08:06 dalek parrot/rurban/lexqnames-gh1095-dev:
08:06 dalek parrot/rurban/lexqnames-gh1095-dev: see https://github.com/parrot/parrot/issues/1095#issuecomment-58470471
08:06 dalek parrot/rurban/lexqnames-gh1095-dev: review: https://github.com/parrot/parrot/commit/e866659eec
08:07 rurban I only have an old bison on my laptop, so we cannot use the 3 generated files from this branch later.
08:07 rurban much easier is to test with t/compilers/imcc/syn/clash_14.pir and 15
08:08 rurban I'll have to add more encodings there, but for now the errors are obvious enough.
08:09 FROGGS okay
08:10 FROGGS During configuration the following steps failed:
08:10 FROGGS 07:  inter::lex
08:10 FROGGS 08:  inter::yacc
08:10 FROGGS does that mean I have to install these first?
08:10 rurban you have a bad or no bison and flex
08:10 FROGGS k
08:11 rurban all normal bison/flex versions should work even very old ones
08:11 FROGGS okay, it seems to continue now
08:16 rurban we also have the problem that aliases for encoding names for strings are not resolved. they are taken literally. e.g. UTF-8:"str" vs utf8:str" are different strings
08:16 rurban 'str' and "str" are also different constants, but turn out to use the same registers later
08:19 rurban there's also a lot of unnecessary temporary string copying going on, with the system malloc/free, not GC.
08:19 FROGGS yeah, that was my understanding yesterday too
08:20 FROGGS and also, nqp does quite a bit just to emit such a ".lex foo"...
08:20 rurban my idea is to store encoded strings with the encoding flag (maybe after the \0), not the name as prefix
08:20 FROGGS so there is (unnecessary) overhead on both ends
08:21 rurban yes. at least  nqp is consistent with ' vs " quotes, as long as you remember that some " are double unescaped, some not. ' sounds best to me
08:21 rurban but I'll have it fixed soon
08:23 rurban and all this ' and " overhead is also annoying. very early parrot did not need quotes for most names. so it did not need to copy temp. strings around. and escaping rules were also easier
08:23 rurban but then someone added the '' requirement for names, which also looks awful.
08:35 rurban1 joined #parrot
08:45 rurban joined #parrot
08:53 FROGGS rurban: how do I enable that tracing using the tracing flag 8 ?
08:55 FROGGS I can't build your branch :/
08:55 FROGGS ./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
08:55 FROGGS Segmentation fault (core dumped)
09:00 FROGGS ohh, 'name' is NULL
09:01 FROGGS s/name/$2/ in imcc.y line 1260
09:01 rurban oh yes, I just created that with my parrot_old
09:01 rurban -t9
09:02 FROGGS to the parrot binary?
09:02 rurban ./parrot_old -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
09:03 rurban m -s parrot_old && gdb --args ./parrot_old -t9 t/compilers/imcc/syn/clash_14.pir
09:04 rurban config.fpmc fails with a encode:"string" assertion
09:28 dalek parrot/rurban/lexqnames-gh1095-dev: ba19f99 | rurban++ | compilers/imcc/ (3 files):
09:28 dalek parrot/rurban/lexqnames-gh1095-dev: WIP mk_const and str_unescape: skip "
09:28 dalek parrot/rurban/lexqnames-gh1095-dev: review: https://github.com/parrot/parrot/commit/ba19f99e09
09:29 rurban I work now with miniparrot, which doesn't crash
09:31 FROGGS ohh, cool
09:35 rurban found the first bug foo\0 => fooo in Parrot_str_unescape
09:38 rurban Parrot_str_unescape_string just skips the \\ for o
11:03 dalek parrot/rurban/lexqnames-gh1095-dev: e0e9f17 | rurban++ | / (8 files):
11:03 dalek parrot/rurban/lexqnames-gh1095-dev: WIP: fixed the tests, but broke parrot
11:03 dalek parrot/rurban/lexqnames-gh1095-dev:
11:03 dalek parrot/rurban/lexqnames-gh1095-dev: allow and handle now empty strings im imcc, fix
11:03 dalek parrot/rurban/lexqnames-gh1095-dev: quoted sub names
11:03 dalek parrot/rurban/lexqnames-gh1095-dev: review: https://github.com/parrot/parrot/commit/e0e9f1757a
11:16 kid51 joined #parrot
11:53 dalek parrot/rurban/lexqnames-gh1095-dev: 940ede1 | rurban++ | src/string/api.c:
11:53 dalek parrot/rurban/lexqnames-gh1095-dev: different string escape policy now
11:53 dalek parrot/rurban/lexqnames-gh1095-dev:
11:53 dalek parrot/rurban/lexqnames-gh1095-dev: die now with unknown escape sequences A-Za-z,
11:53 dalek parrot/rurban/lexqnames-gh1095-dev: but allow quoting of special non-word chars, like
11:53 dalek parrot/rurban/lexqnames-gh1095-dev: \", \[, \}
11:53 dalek parrot/rurban/lexqnames-gh1095-dev: review: https://github.com/parrot/parrot/commit/940ede1e68
12:26 rurban hmm, we test for \w and \\w in the testsuite
12:38 FROGGS joined #parrot
12:58 FROGGS joined #parrot
13:14 dalek parrot/rurban/lexqnames-gh1095-dev: 761b245 | rurban++ | / (2 files):
13:14 dalek parrot/rurban/lexqnames-gh1095-dev: imcc encodings: fix unicode encoded constants
13:14 dalek parrot/rurban/lexqnames-gh1095-dev: review: https://github.com/parrot/parrot/commit/761b2456fd
13:14 rurban joined #parrot
14:31 FROGGS joined #parrot
16:13 FROGGS joined #parrot
22:29 Psyche^ joined #parrot
22:35 kid51 joined #parrot

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

Parrot | source cross referenced