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.