|
Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 15 May 2012. |
|||
|
00:09
kid51 joined
|
|||
| dalek | p/qbootstrap: f8878e7 | jnthn++ | src/ops/nqp.ops: Fix an off-by-1. |
00:24 | |
| p/qbootstrap: 9e36c01 | jnthn++ | / (3 files): Start loading the new regex lib so userspace code can do things like regex interpolation. Add a temporary flag for during the build - can go away once the bootstrap update is done. Gets another test file largely passing. |
|||
| p/qbootstrap: 4b39917 | jnthn++ | t/nqp/50-regex.t: Update a test for new cursor object name. All pass, getting us down to a handful of failures in a couple of test files, probably with one root cause. |
|||
| p/qbootstrap: eb98cba | jnthn++ | tools/build/Makefile.in: Stop building the now-unrequired PIR-based regex engine in stage 2, just to be sure it's not required any more. |
00:39 | ||
|
00:40
kurahaupo joined
|
|||
| dalek | Heuristic branch merge: pushed 368 commits to rakudo/str-numeric by japhb | 01:00 | |
| rrot/whiteknight/io_cleanup1: 257784b | Whiteknight++ | / (9 files): Start implementing per-type vtables. Add two new files, one for pipes and one for user-defined types. Start cannibalizing existing IO api routines to fill in the vtables. |
01:25 | ||
|
01:37
kid51 joined
|
|||
| nopaste | "kid51" at 70.85.31.226 pasted "make testr error: t/compilers/imcc/syn/clash.t" (26 lines) at nopaste.snit.ch/142519 | 02:02 | |
| kid51 | It's very uncommon for us to get a failure in just one of the alternate runcore tests. | 02:03 | |
| Can anyone take a look? | |||
| This *probably* emerged since the release. | 02:04 | ||
| alvis | cotto: I need some guidance. Our pdds comport with the standards set out in 'docs/pdds/pdd_template.pod', but 'pdd_template' does not comport with the requirements of 't/codingstd/pod_description.t'. | 02:20 | |
| cotto: Specifically, 'pdd_template.pod' tells folks to use '=head2 Description' and 'pod_description.t' is looking for a '=head1 DESCRIPTION\\n\\nParagraph...\\n' (because it pulls from 'Pod::Simple::PullParser's 'get_description' method'). How do you want me to resolve this? Update 'pdd_template.pod' to use '=head1' command paragraphs? Or ... other? | |||
| cotto: Please note: Updating 'pdd_template.pod' will also require me to update the '=head2' command paragraphs to '=head1's, which I'm willing to do. I just need a go'ahead from you for a change like this | |||
| cotto: Update the command paragragphs for *all* of the pdds, that is. | 02:22 | ||
| cotto | alvis, I don't know if there's a good reason to care which type of section header the description is found in. If you can make the test test that it exists without caring about =head1 vs =head2, that'd be a good solution. | 02:30 | |
| alvis | That'll mean not using 'Pod::Simple::PullParser's 'get_description' method and substituting our own test. You're okay with that then? | 02:35 | |
| Or, alternatively, subclassing 'Pod::Simple::PullParser' to use a different (our own) method. Whichever you prefer. | 02:36 | ||
| cotto | hmmm | 02:40 | |
| is there an easy way to get all the section headers and check that something like "description" is in the list? | 02:43 | ||
| alvis | Sure. There's no reason why we must use Pod::Simple::PullParser's method. It's just, apparently, what we've done. Either way wfm. | 02:45 | |
| kid51 | msg whiteknight 0083dc25e244 (Wed May 16) appears to be cause of failure of 'perl t/harness -r t/compilers/imcc/syn/clash.t' | 02:46 | |
| aloha | OK. I'll deliver the message. | ||
|
02:46
japhb joined
|
|||
| cotto | ok. Thanks for looking into that issue. | 02:48 | |
| alvis | cotto: I'll look at it more closely. Come up with an option or two and, then, if the solution isn't obvious, get back with you for your decision. | ||
| cotto | alvis++ | 02:49 | |
|
03:15
alester_ joined
03:46
contingencyplan joined
04:12
kurahaupo joined
04:28
nbrown joined
|
|||
| alvis | cotto: What do you think about excluding pdds from 't/codingstd/pod_description.t' because 't/codingstd/pdd_format.t' already checks whether or not the pdds comport with the specifications laid out in 'docs/pdds/pdd_template.pod', to include a '=head2 Description' command paragraph? | 04:30 | |
|
04:39
fperrad joined
|
|||
| cotto | alvis, so pod_description doesn't add anything useful? | 04:41 | |
| alvis | cotto: Not as to the pdds. 'pdd_format.t' is the main test, and it tests to ensure the pdds comport with what's laid down in 'pdd_template.pod'. | 04:42 | |
| 'pdd_template.pod' specifies a '=head2 Description' command paragraph and 'pdd_format.t' tests for that. If it's not there, it fails. | 04:43 | ||
| cotto | ah. excepting the pdds is great | 04:46 | |
| sorry. trying to do 3 things at once | |||
| as with most of today | |||
| alvis | cotto: I certainly understand that! Ok, I'll except them and include a very specific note about why we're doing so. Thanks. | 04:47 | |
| dalek | Heuristic branch merge: pushed 16 commits to parrot/ayardley/pod_DESCRIPTIONS by ayardley | 05:07 | |
|
07:08
brrt joined
|
|||
| dalek | : daf91cd | (kj, kjs)++ | m1_instr.c: add write instructions |
08:01 | |
| : 825cb31 | (kj, kjs)++ | m1_gencode.c: some fixes to get things running |
08:04 | ||
| : f4ee116 | (kj, kjs)++ | m1_ast.h: add a symbol table to m1_chunk |
|||
| : 7f1b9c2 | (kj, kjs)++ | m1_gencode.c: fix code generator for const expressions |
08:18 | ||
|
08:22
lucian joined
|
|||
| dalek | kudo/str-numeric: 1143b27 | moritz++ | src/core/Str.pm: make Str.Numeric throw typed exceptions |
09:04 | |
|
09:04
diginet joined
|
|||
| diginet | I know this is kind of a nebulous question, but I've been wanting to experiment with designing my own language for fun and I was wondering what the state of the libraries for languages targetted to parrot is? I would be looking for things like SDL, OpenGL, etc | 09:08 | |
| brrt | dunno, but we do have NCI | 09:09 | |
| docs.parrot.org/parrot/devel/html/d...l.pod.html | |||
| diginet | what is nci? | 09:10 | |
| brrt | native call interface | ||
| a way for parrot to call arbitray routines from (dynamic) libraries | 09:11 | ||
| not entirely arbitrary, but mostly anyway | |||
| diginet | Ah okay | ||
| brrt | so yeah, if it has a C api and a dynamic library, chances are you can use it :-) | 09:12 | |
| diginet | Is perl 5 available on parrot? If so, would that mean I could use CPAN code with my language? | ||
| brrt | not.... really | 09:13 | |
| Timbus | and down the rabbit hole you go | ||
| diginet | gotcha | 09:15 | |
| Timbus | simply embed libperl into your language and make it available as some custom parrot opcodes :v | ||
| nine | Really...how hard can it be to embed a Perl interpreter into Parrot? :) | ||
| tadzik | well, blizkost did work at some point in time | ||
| moritz | diginet: there's a parrot <-> perl 5 bridge called 'blizkost', but I suspect it has bitrotted | ||
| diginet | moritz, thanks, Ill check it out | ||
|
09:18
brrt left,
brrt joined
09:21
kjs joined
|
|||
| dalek | : 55e5daf | (kj, kjs)++ | m1_stack. (2 files): add stack module. needs testing |
09:31 | |
| Heuristic branch merge: pushed 19 commits to rakudo/nom by moritz | 09:33 | ||
| : 3af46b0 | (kj, kjs)++ | Makefile: add stack to makefile |
|||
| diginet | would nci be suitable for calling Tk? | 09:36 | |
| dalek | : bc4fa88 | (kj, kjs)++ | m1_compiler.h: add stack to compiler and remove a magic number |
||
| brrt | i have no knowledge of tk | 09:40 | |
| moritz | diginet: if the NCI supports callbacks, yes | 09:41 | |
| dalek | : a209b40 | (kj, kjs)++ | m1_gencode.c: handle types in binexpr |
09:46 | |
| brrt | NCI does do callbacks | 09:50 | |
|
10:04
fperrad joined
|
|||
| dalek | p/qbootstrap: 2c90c5d | moritz++ | src/QHLL/CommandLine.pm: copy changes to src/HLL/ over to src/QHLL |
10:12 | |
| : 80917e7 | (kj, kjs)++ | m1_gencode.c: implement break statement |
10:40 | ||
|
11:04
brrt left
11:22
kid51 joined
|
|||
| dalek | p: 64c1b3c | moritz++ | src/HLL/Compiler.pm: [HLL::Compiler] expose the program name to the user |
11:37 | |
| kudo/nom: 5274a37 | moritz++ | / (2 files): fix $*PROGRAM_NAME for one-liners Closes RT #113078 |
11:39 | ||
| p/qbootstrap: f135d3f | jnthn++ | tools/build/Makefile.in: Fix up make install for qbootstrap. |
11:54 | ||
|
12:07
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:07 | |
|
12:16
JimmyZ joined
|
|||
| Coke | (embed perl5 in parrot) also check out the dead horse "ponie" | 12:19 | |
| moritz | oh, that one is so dead that it's hard to find reliable information on | 12:20 | |
| I think I looked for the source code some years ago, and only found links to expired domains | |||
|
12:20
brrt joined
12:24
woosley joined
12:26
kjs joined
|
|||
| dalek | sella/separate_compile: 2ac28bf | Whiteknight++ | s (9 files): Quick experiment to break up compilation of individual .winxed files and use pbc_merge to combine them (with correct annotations et al.). Does not work. pbc_merge fails trying to load sys_ops dyoplib |
12:42 | |
| kjs | whiteknight: howdy | 13:00 | |
| how did you implement $include in winxed? | 13:01 | ||
| whiteknight | hello kjs | ||
| kjs | the $include statement or directive | ||
| (looking for candidate solutions for m1) | |||
| dalek | p/qbootstrap: 19e3d85 | jnthn++ | tools/build/Makefile.in: Update bootstrap-files target. |
13:04 | |
| p/qbootstrap: 127134a | jnthn++ | src/NQPQ/Actions.pm: Move loading of NQPP6QRegex within --no-regex-lib guard. |
|||
| p/qbootstrap: d559989 | jnthn++ | src/how/NQPClassHOW.pm: Temporarily change the way we do NFA caching so we don't end up with SC refs between levels of the bootstrap. |
|||
|
13:06
PacoAir joined
|
|||
| whiteknight | kjs: That was NotFound. I think it's just basic text inclusion like the #define from C | 13:07 | |
|
13:07
Psyche^ joined
|
|||
| kjs | ok, thanks. | 13:08 | |
|
13:13
fperrad joined
13:27
JimmyZ_ joined
|
|||
| dalek | : 579e0c7 | (kj, kjs)++ | m1 (2 files): refactor; main in separate file |
13:51 | |
| : 672d6cc | (kj, kjs)++ | m1_ (2 files): various improvements |
|||
| : 9bb3d18 | (kj, kjs)++ | Makefile: update makefile |
|||
| : 9d13d9f | (kj, kjs)++ | m1_gencode.c: updates |
13:52 | ||
| JimmyZ | kjs++ | 14:04 | |
| Coke | karma kj? | 14:05 | |
| aloha | kj has karma of 0. | ||
| Coke | karma kjs? | ||
| aloha | kjs has karma of 8. | ||
| Coke | karam (kj, kjs) | ||
| karma (kj, kjs) | |||
| aloha | (kj, kjs) has karma of 0. | ||
| moritz | karma kj, kjs | 14:06 | |
| aloha | kj, kjs has karma of 0. | ||
| tadzik | where did all this karma go? | 14:09 | |
| brrt | karma brrt | ||
| aloha | brrt has karma of 6. | ||
| whiteknight | aloha: account for yourself | ||
| Coke | karma coke? | 14:10 | |
| aloha | coke has karma of 593. | ||
| whiteknight | karma Coke | ||
| aloha | Coke has karma of 593. | ||
| whiteknight | okay, it's case- and questionmark-insensitive | ||
| kjs | true karma is when you do it without expectations :-) | 14:16 | |
| whiteknight | I keep telling people, get to 10,000 karma and you get a free donut | 14:17 | |
| of course, donuts come in packs of 6, so you need at least 60,000 to collect | |||
| kjs | :-) | ||
| whiteknight | but still, that's not a bad deal. | 14:18 | |
| kjs | it's the journey, not the donut. | ||
| whiteknight | yes, and that would be one epic journy | ||
| dalek | nxed: 5a54311 | NotFound++ | winxedst1.winxed: don't use namespaces in stage 1 compiler |
14:19 | |
| nxed: 382ebb9 | NotFound++ | winxedst0.cpp: drop namespace support from stage 0 |
|||
| nxed: 3527a1e | NotFound++ | winxedst0.cpp: drop some remanants of namespace support in stage 0 |
|||
| nxed: 24c1ee2 | NotFound++ | winxedst0.cpp: drop a few optiizations from stage 0 |
|||
| nxed: 65668f8 | NotFound++ | winxedst (2 files): drop operator '%' from stage 0 |
|||
| nxed: a152df6 | NotFound++ | winxedst (2 files): delete some unused variables |
14:32 | ||
|
14:49
crab2313 joined
15:09
dmalcolm joined
|
|||
| dalek | nxed: 957bb86 | NotFound++ | winxedst2.winxed: improve OpEqualExpr optimization |
15:10 | |
| : 1cd1da7 | (kj, kjs)++ | m1. (2 files): add boolean as a type and reclassify bool expr |
|||
|
15:21
brrt left
|
|||
| dalek | nxed: 339ed0a | NotFound++ | winxedst1.winxed: drop operator '%%' from stage 1 |
15:26 | |
| cotto | ~~ | 15:27 | |
| whiteknight | hello cotto | 15:33 | |
|
15:35
plobsing joined
|
|||
| dalek | nxed: 74cff55 | NotFound++ | winxedst1.winxed: drop operators '*=', '/=' and '%=' from stage 1 |
15:38 | |
| whiteknight | NotFound++ # Slash and burn | ||
|
15:47
kjs joined
|
|||
| dalek | nxed: 9f5c263 | NotFound++ | winxedst1.winxed: backport minor changes and fixes in string quoting to stage 1 |
15:57 | |
|
16:01
kurahaupo joined
|
|||
| dalek | nxed: 182fb42 | NotFound++ | winxedst1.winxed: drop tailcall optimization from stage 1 |
16:09 | |
| rrot: 18d0f30 | jkeenan++ | frontend/parrot2/prt0.pir: Update copyright to 2012. |
16:21 | ||
|
16:28
kurahaupo joined
16:29
woosley left
16:48
kjs joined
16:55
kjs joined
|
|||
| dalek | nxed: d15e66f | NotFound++ | winxedst2.winxed: simplify parsing of numeric literals |
17:15 | |
| p/qbootstrap: 5b5063b | jnthn++ | src/PASTRegex.pir: PASTRegex module needs to take care of exporting PAST namespace now that NQPRegex is going away. |
17:17 | ||
| p/qbootstrap: 191ac25 | jnthn++ | src/NQPQ/Compiler.pm: Be sure that we still always have the PAST stuff available for the moment. |
|||
| p/qbootstrap: 30c0341 | jnthn++ | src/QRegex/NFA.nqp: Refactor/harden the rulename existence check in mergesubrules. |
|||
| p/qbootstrap: 49ef826 | jnthn++ | src/NQPQ/Grammar.pm: Workaround for <?{ ... }> parsing issue; should be able to clear this up post-bootstrap, when only the new NFA implementation of LTM need care. This gets all tests passing in t/nqp again. |
|||
| p/qbootstrap: d18b0c4 | jnthn++ | / (11 files): Update the bootstrap, using the QRegex engine. This eliminates the dependency on the old PIR-based regex engine. |
17:31 | ||
| p/qbootstrap: 4fd22b2 | jnthn++ | t/nqp/29-make.t: Update a test that used the old regex engine's Match object. |
|||
| p/qbootstrap: 5a14467 | jnthn++ | src/stage0/ (8 files): Go around the bootstrap loop once more, to (hopefully) fully eliminate mentions of the old NQPRegex library. Things work, aside from a regex interpolation issue that needs looking in to (and that was broken last time around too). |
|||
| p/qbootstrap: 4b5e511 | jnthn++ | tools/build/Makefile.in: Start to clear up the Makefile, removing things we no longer use. |
17:48 | ||
| p/qbootstrap: 2fb39d8 | jnthn++ | src/Regex (10 files): Remove most of the old Regex engine; a constants.pir is still referenced, but everything else goes. |
|||
| p/qbootstrap: 1fa3e21 | jnthn++ | / (4 files): Remove the old PIR-based regex compiler. |
|||
|
17:54
PacoAir joined
|
|||
| dalek | p/qbootstrap: fea45a0 | jnthn++ | / (9 files): Collapse QHLL back into HLL. |
17:57 | |
| p/qbootstrap: a57eda0 | jnthn++ | / (9 files): Collapse NQPQ back into NQP. |
17:58 | ||
|
17:58
lucian joined
|
|||
| dalek | nxed: f7d57a1 | NotFound++ | winxedst0.cpp: minor cleanup of FunctionParameter, no functional changes |
17:58 | |
| kudo/world-rethrow: f211159 | moritz++ | src/Perl6/World.pm: [World] refactor exception handling and rethrowing into a separate method |
18:00 | ||
| kudo/world-rethrow: 6d6e154 | moritz++ | src/Perl6/World.pm: oops, fix method name |
|||
|
18:05
contingencyplan joined
|
|||
| dalek | kudo/qbootstrap: 436e5de | jnthn++ | src/Perl6/Pod.pm: Update Pod.pm to new sep syntax. Now NQP on qbootstrap can compile it. |
18:07 | |
|
18:14
zby_home joined
|
|||
| dalek | kudo/qbootstrap: a4ff26a | jnthn++ | src/Perl6/Grammar.pm: Load the QRegex version of P6Regex. Now we at least start compiling Grammar.pm. |
18:15 | |
| kudo/qbootstrap: 2fabe67 | jnthn++ | src/Perl6/Grammar.pm: Update ** usage to % in Grammar.pm; now we survive building it at least. |
|||
| kudo/qbootstrap: e375fc3 | jnthn++ | src/Perl6/ (3 files): Few more 'use' statement updates; we now get all the way to trying to build main.nqp before failing. |
|||
| kudo/nom: c663f0f | moritz++ | src/ (2 files): provide file and line number for method redeclaration errors |
18:16 | ||
| kudo/nom: f211159 | moritz++ | src/Perl6/World.pm: [World] refactor exception handling and rethrowing into a separate method |
|||
| kudo/nom: 6d6e154 | moritz++ | src/Perl6/World.pm: oops, fix method name |
|||
| kudo/nom: ecf355f | moritz++ | src/ (2 files): Merge branch 'world-rethrow' into nom |
|||
| kudo/nom: 4904b02 | moritz++ | docs/ChangeLog: note exception stuff in ChangeLog |
|||
| kudo/qbootstrap: 8810de2 | jnthn++ | src/Perl6/Actions.pm: Make sure we get PAST nodes loaded. This gets us up to trying to compile the setting...which is immediate fail. |
18:22 | ||
| : 809d800 | (kj, kjs)++ | m1. (2 files): add import statement. only allow bool expr in conditions. and some other stuff |
18:24 | ||
|
18:27
mtk joined
|
|||
| dalek | kudo/qbootstrap: 55c9f1c | jnthn++ | src/Perl6/ (2 files): Update some references to the old regex engine's Cursor and Match types. Now we make a bit of progress with parsing CORE.setting (up to line 106). |
18:30 | |
|
18:46
Khisanth joined
|
|||
| dalek | nxed: a260555 | NotFound++ | winxedst2.winxed: fix const initialization from different type |
18:56 | |
|
19:04
whiteknight joined
19:09
dukeleto joined
|
|||
| dukeleto | ~~ | 19:09 | |
| whiteknight | good afternoon, #parrot | 19:17 | |
| dalek | : 2626b29 | (kj, kjs)++ | m1 (6 files): simple assignments work, kinda |
19:19 | |
| dukeleto | whiteknight: howdy | 19:22 | |
| It is pretty awesome to see M1 commits flying by. | 19:23 | ||
| whiteknight: somebody is asking me why we are writing parrot-lapack instead of parrot-atlas. Do you have a good answer for them? | 19:24 | ||
| whiteknight: i have vague memories of you talking about atlas bindings for matrixy | |||
| whiteknight | PLA already binds to ATLAS | ||
| ATLAS is just a particular implementation of BLAS | |||
| the LAPACK bindings are to build on top of our existing ATLAS bindings | |||
| dukeleto | whiteknight: i.e. the fastest :) | ||
| whiteknight | I think ATLAS comes with a handful of common LAPACK functions built-in, but not all of them | 19:25 | |
| dukeleto | whiteknight: ok, so they are complementary libraries | ||
| whiteknight | Actually, I would not say ATLAS is the fastest. Goto BLAS is pretty darn quick and some of the implementation-specific guys are speedy too | ||
| right | |||
| dukeleto | whiteknight: maybe you could drop a knowledge bomb on github.com/leto/parrot-lapack/issues/1 ? | 19:26 | |
|
19:31
rurban left
|
|||
| dalek | : cb765cd | dukeleto++ | README.md: Add a link to the m0 branch in the readme |
19:32 | |
|
19:36
PacoAir joined
19:53
plobsing joined
|
|||
| dalek | : d83f43b | (kj, kjs)++ | m1 (9 files): fix assignments hopefully |
20:13 | |
| : 9e63184 | (kj, kjs)++ | README.md: Merge branch 'master' of github.com:parrot/m1 |
|||
|
20:13
lucian joined
|
|||
| dukeleto | kjs: ping | 20:19 | |
| kjs | dukeleto: poing | ||
| dukeleto | kjs: just clarifying, is it cool if I add an artistic 2.0 license and CREDITS file to m1.git ? | 20:20 | |
| kjs | sure | ||
| no prob | |||
| dukeleto | kjs: awesome | ||
| kjs: it is really nice to see you working on m1! | |||
| kjs | :-) it is addictive i must say | 20:21 | |
| dukeleto | kjs: i have had a lack of tuits lately for hacking in general, but that has changed and I am diving back in | ||
| kjs: please let me know how I can help with m1 | |||
| kjs | i could walk you through the source at some point | ||
| (have to leave in a few min now) | |||
| and then you could see what you want to do | |||
| Coke | star: use Beer; | ||
| p6eval | star 2012.04: OUTPUTĀ«===SORRY!===ā¤Could not find Beer in any of: /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib, .ā¤Ā» | 20:22 | |
| Coke | star: say "oh hey, wrong window." | ||
| p6eval | star 2012.04: OUTPUTĀ«oh hey, wrong window.ā¤Ā» | ||
| kjs | i havent really properly refactored stuff, so here and there it gets slightly messy | ||
| dalek | : c6df014 | (kj, kjs)++ | TODO.txt: update todo list |
20:23 | |
| Coke | kjs: were you the one who put pirc together? | ||
| kjs | yes | ||
| Coke: hi | 20:24 | ||
| cotto | kjs, would you be happy with a cmp op? | ||
| kjs | yes that was me. a lot of experience from that is now useful | ||
| Coke | sounds like m1 is getting more traction. kjs++ | ||
| cotto | kjs++ indeed | ||
| kjs | cotto: i think for now that would help. if we find out later that it can be done without a cmp, then fine | ||
| dalek | : 0eaf8f2 | dukeleto++ | LICENSE: Add artistic 2.0 license |
||
| : 8cf53a8 | dukeleto++ | CREDITS: Add a credits file |
|||
| kjs | but we need some way to find out whihch side of 0 you are, when doing a comparison | ||
| cotto | right. cmp says which of a > b, a == b, a < b is true | 20:25 | |
| like perl's operator of the same name | 20:26 | ||
| kjs | -1 is lt | ||
| 0 is eq | |||
| cotto | either that or <=> | ||
| kjs | and +1 is gt | ||
| cmp <result>, <a>, <b> | |||
| dalek | : 3e48274 | dukeleto++ | README.md: Mention license in the readme |
||
| dukeleto | star: say "Is this thing on?" | 20:27 | |
| p6eval | star 2012.04: OUTPUTĀ«Is this thing on?ā¤Ā» | ||
| moritz | oh, that's still the old star | ||
| dukeleto | moritz: it is new to me :) | ||
| dukeleto has been in a cave | |||
| dalek | p/toqast: 9e3e240 | masak++ | / (2 files): [QAST::Block] implement .symbol |
||
|
20:28
elmex joined
|
|||
| moritz | star: say 'oh hai' | 20:28 | |
| p6eval | star 2012.05: OUTPUTĀ«oh haiā¤Ā» | 20:29 | |
| moritz | ok, updated to new version | ||
| dukeleto++ | |||
|
20:29
elmex joined
|
|||
| kjs | dukeleto: thanks for credits etc. | 20:31 | |
| dukeleto++ | |||
| dukeleto: i can walk you through source code some time if you want | 20:32 | ||
| dukeleto | kjs: sure! | ||
| kjs: are you planning on adding some kind of test suite? | |||
| kjs: ah, i see some t*.m1 files | 20:33 | ||
| kjs | well that's thep lan but at this point tehre's little to test | 20:34 | |
| it's v incomplete | |||
| but got assignments working i think | |||
| so that's a big step | |||
| once we have enough working, we can write tests in M1 | |||
| run them through M1, then perl m0)assembler.pl and ./m0 | 20:35 | ||
|
20:36
kid51 joined
|
|||
| dukeleto | kjs: i am very interested in data-driven tests. Such as, having a yaml file with pairs of (M0,M1) source code | 20:36 | |
| kjs: and then we verify that each m0 gives the corresponding m1 generated code | 20:37 | ||
| kjs | m1->m0 i think you mean? | ||
| dukeleto | kjs: yes :) | ||
| kjs | if we wrote it in prolog it wouldn't matter :-) | ||
| yes sounds good. we can chat next time to see what's needed for that | 20:38 | ||
| meanwhile i'm still figuring out M0 language. Its very easy to make mistakes | |||
| dukeleto | kjs: indeed. | 20:39 | |
| kjs: it is on my docket to write a few more non-trivial m0 programs, to prove that m0 is indeed viable and as examples for people like you :) | 20:40 | ||
| kjs | what would be intersting is to understand better how function calls work | ||
| dukeleto | kjs: i think the last time me and cotto++ talked we agreed that CRC-(16|32) in M0 would be a good example | ||
| kjs | what's CRC? | ||
| dukeleto | kjs: cyclical redundancy check, iirc | 20:41 | |
| kjs: a checksum | |||
| kjs: one of the most common and standard checksums is CRC. It is used in TCP and all over the place | |||
| kjs | oh right | ||
| as an example | |||
| dukeleto | kjs: yes. We *think* m0 is turing complete, but I want to be sure :) | 20:42 | |
| kjs | the most difficult to get right is assignments, in my experience | ||
| while, if, and allthe other control stuff is easy | |||
| assignments, and then function calls. those are always tricky | |||
| objects seem easy, with gc_alloc | |||
| dukeleto | kjs: the m0 spec is still getting refined. please tell us if something is suboptimal or ambiguous | 20:43 | |
| kjs | there is ambiguity about the size of regs | 20:44 | |
| 4 or 8 | |||
| aloha | 12 | ||
| kjs | for int registers i think | 20:45 | |
| it says that it's either 4 or 8 depending on platform | |||
| but elsewhere it says that all regs are 8 bytes | |||
| dukeleto | kjs: interesting | ||
| kjs: the spec evolved in places, but not others :) | 20:46 | ||
| kjs: i think originally we said all are 8, but that seemed like an unduly penalty to small embedded systems, so it can be up to the platform/implementation | 20:47 | ||
| kjs | also i found some examples a bit confusing. it sems that any register can hold any value | ||
| also, pointers to local variables wont work i think | |||
| so i'm thinking of doing a reference style a la java | |||
| dukeleto | kjs: pretty much. the prefix of registers are mostly for the convenience of the reader of m0 | ||
| kjs: why wont pointers to local variables work? | |||
| kjs | ok but what convenience does it bring if it's confusing? :-) | ||
| because local vars are in fact just aliases to regs | 20:48 | ||
| and you cant take an address of a reg | |||
| right? | |||
| i seem to remember many years ago a discussion like that when dan was still around | |||
| dukeleto | kjs: i would ask cotto++ for now. My m0-spec-fu is still rusty right now | ||
| kjs | pointers to regs is not possible i think. will be an obstacle to JIT perhaps? | ||
| ok well not a big deal because you shouldnt have poiners to local vars anyway | 20:49 | ||
| only objecs | |||
| pointers to primitive types is complex code, and we want to prevent complex code :-) | |||
| dukeleto | kjs: agreed | ||
| kjs | i want to make it as foolproof as possible | ||
| dalek | p/toqast: b0b24cf | masak++ | / (2 files): [QAST::Block] only create hashes when .symbol sets When the getter variant of .symbol is used, it now returns an undefined value, rather than autovivify a hash for it. |
||
| kjs | at the moment, a blocker for me is to figure out which sequence of instructions i need to generate for each type of statement | 20:51 | |
| tadzik | 11 or 12 | ||
| aloha | 15 | ||
| tadzik | :) | ||
| kjs | that's a painful process. for instance, how do functions return, that kind of stuff. | 20:52 | |
| have to go now. good evening, happy hacking all | 20:53 | ||
| cotto | 'night | ||
| dukeleto | cotto: so you are working at a shiny new startup these days? How is it? | 20:54 | |
| dalek | rrot/whiteknight/io_cleanup1: d3d94e2 | Whiteknight++ | / (8 files): Complete a first pass through src/io/api.c. Convert most functions to use the new architecture. Move some functions and some bare logic to other files where they belong. Leave several TODO notes with C++ // comments so they will be caught by codetest long before we try to merge anything |
20:56 | |
| Coke | 25 or 624 | 20:57 | |
| aloha | 633 | ||
| cotto | dukeleto, pretty crazy. We've got an apartment we're working out of and I don't think I've gone home before 10:30 so far (apart from previous engagements). | 21:06 | |
| definitely living the dream | 21:07 | ||
| dukeleto, did you see register name aliases in M0? | |||
| not sure if you were still around when I added them a couple weeks ago | |||
| they should make m0 code much more readable | 21:08 | ||
| dalek | kudo/qbootstrap: ffe62f6 | jnthn++ | src/Perl6/Grammar.pm: Remove a check we hopefully don't need with proper LTM, and that prevented circumfix from getting its proper declarative prefix. |
21:21 | |
| kudo/qbootstrap: 2dc246d | jnthn++ | src/Perl6/Grammar.pm: Fix copyO for new regex engine. Gets us to just past line 1400. |
|||
| Coke | anyone here talk to c h r o m a t i c recently? | 21:28 | |
| tadzik | cool obfuscation bro | 21:29 | |
| Coke | wouldn't want to piss him off. Won't fool google, i'm sure. | ||
| cotto | not recently | 21:34 | |
| though he seems to have effective ways of knowing when something interesting is happening here | 21:35 | ||
| Coke | google. ;) | ||
| or, hell, I used to have a perl script that would poke me if I was offline and someone said my name. | 21:36 | ||
| dalek | kudo/qbootstrap: 137b998 | jnthn++ | src/Perl6/Grammar.pm: Avoid issue with <?[ ) \\] ]> generating non-zerowidth matching. Gets us well beyond line 3000. |
22:13 | |
| dukeleto | cotto: i am catching up on m0 stuff now. | 22:18 | |
| cotto | cool | ||
| I was pretty naive in my expectation of free time post-startup | 22:19 | ||
| dukeleto | cotto: github.com/parrot/parrot/commit/e8...nt-1378861 | 22:26 | |
| cotto | dukeleto, replied | 22:30 | |
| and thanks | |||
| apparently I can edit your comments now. I wonder if that's a bug | |||
| benabik | I think you can edit comments in your own repos, and since you're a member of the parrot org, you "own" that repo. | 22:31 | |
| dukeleto | benabik++ | ||
| cotto | that mostly makes sense. istr it being otherwise in the past, but I've never cared to try. | ||
| dukeleto | github has been changing fast these days | 22:32 | |
| benabik | I've edited several comments in old tickets just to fix formatting. | ||
| cotto | wfm | ||
| anyone who's an admin probably shouldn't be malicious | |||
|
22:44
bluescreen joined
|
|||
| dalek | p/qbootstrap: 30b8951 | jnthn++ | src/QRegex/ (2 files): Special-case <before ...> to be declarative for LTM purposes. Fixes reduction parsing (and maybe other things) in Rakudo on qbootstrap. |
22:49 | |
|
22:52
kurahaupo joined
|
|||
| dalek | kudo/qbootstrap: 5b42a4c | jnthn++ | src/Perl6/Grammar.pm: Some more copyO and copyOPER fixing. With this and the <before ...> patch in NQP we now get up to line 9976 in CORE.setting. |
22:57 | |
|
23:03
particle1 joined
23:08
particle joined
|
|||
| dalek | rrot/m0: c654de6 | dukeleto++ | src/m0/perl5/m0_assembler.pl: Disallow the redefinition of a register name alias |
23:15 | |
| rrot/m0: c565eaf | dukeleto++ | t/m0/ (2 files): Add an m0 test for the illegal redefinitino of an alias |
|||
| rrot/m0: fe3f4c0 | dukeleto++ | .gitignore: Git ignore the compiled m0 C implementation |
|||
| ingy | hi dukeleto | 23:38 | |
| dalek | p/qbootstrap: c4cc06a | moritz++ | src/HLL/Compiler.pm: expose parsed command line options and arguments to the user |
23:46 | |
| p/qbootstrap: 64c1b3c | moritz++ | src/HLL/Compiler.pm: [HLL::Compiler] expose the program name to the user |
|||
| p/qbootstrap: b77e472 | jnthn++ | src/NQP/Grammar.pm: Canonicalize name installed in %*RX<name> properly, so we call the correct action method. |
|||
| p/qbootstrap: 62c44da | jnthn++ | src/HLL/Compiler.pm: Merge prog-name handling from master. |
|||