Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8
Set by moderator on 27 March 2011.
00:01 cosimo joined 00:05 plobsing joined
cotto ~~ 00:10
bacek_at_work ENOMATCH 00:33
I "BSD 3 clause" compatible with AL2? 00:34
cotto bacek_at_work, define "compatible" 00:36
00:36 blm126 joined
bacek_at_work "Can I copy sources from other project and recommit them under AL2" 00:36
cotto dominant opinion is that we can't distribute 3BSD-licensed with an AL2 project 00:37
00:37 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
particle they are both gpl compatible, but that probably doesn't help you 00:38
cotto I don't understand the reasoning myself.
In Parrot's case, I think we're just being conservative.
bacek_at_work ok then
cotto are you thinking about bundling llvm? 00:39
bacek_at_work cotto, nope. Some code from llvm-py
00:39 woosley left
cotto what code? 00:40
bacek_at_work code.google.com/p/llvm-py/source/b.../extra.cpp 00:41
What is best way to free "char*" from NCI function call? From within PIR using some magical PMC. 00:42
00:42 blm126 left 00:47 plobsing left 00:54 bbatha joined, kid51_at_dinner left 01:21 ShaneC left 01:30 mikehh left 01:36 kid51 joined, kid51 is now known as kid51_at_dinner 01:50 woosley joined 01:55 whiteknight left 02:08 ShaneC joined 02:10 bbatha left 02:15 bubaflub joined 02:23 mikehh joined 02:29 davidfetter left
bubaflub dukeleto: i've updated my proposal once more, i'll update the one submitted to google 02:31
02:44 bubaflub left 02:47 kid51_at_dinner left 03:05 particle left, theory joined
cotto incoming? 03:07
dalek rrot/m0-spec: 39b8af6 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
remove unneeded definition of "thunk"
rrot/m0-spec: 7279063 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
add pointers to various segments to the context
rrot/m0-spec: 39baa18 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
clarify the intent of the variables table, various minor fixes
rrot/m0-spec: 8161464 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
try to clarify what $0 and *$0 mean
rrot/m0-spec: 0e4d7bc | cotto++ | docs/pdds/draft/pdd32_m0.pod:
add constants for ffi based on what libffi exposes
rrot/m0-spec: 488fa80 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
chromatic isn't around much these days
rrot/m0-spec: 67532f8 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
add some reasons for CPS
rrot/m0-spec: db9e9fb | cotto++ | docs/pdds/draft/pdd32_m0.pod:
clarify what S and P registers look like to M0
rrot/m0-spec: fa57d16 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
remove a redundant description of the context's structure
cotto English is so much easier to debug than code.
unless it's law, but I'm not writing that
benabik Law is English as code.
cotto failures in Law make segfaults look graceful 03:15
benabik Indeed.
dalek rrot/m0-spec: dfb5070 | dukeleto++ | docs/pdds/draft/pdd32_m0.pod:
Add a reference to a JIT algorithm paper
03:34
03:34 plobsing joined
dalek rrot/m0-spec: f0ae34e | cotto++ | docs/pdds/draft/pdd32_m0.pod:
specify where to start executing
03:35
04:00 particle joined 04:04 particle1 joined 04:08 particle left 04:23 particle1 left 04:28 particle joined 05:25 theory left 05:39 mberends left 05:43 bacek left 05:44 fperrad joined 06:09 cosimo left 06:20 dodathome joined 06:26 JimmyZ joined
JimmyZ cotto, ping 06:27
dalek rrot/m0-spec: b5b9461 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
fix off-by-one goof, clarify some language
06:29
cotto JimmyZ, pong (barely)
JimmyZ VS may be changed to VT? Since it means Variables Table, not Variables Segment again? 06:30
cotto I don't want to confused with vtable.
but I see what you mean 06:31
JimmyZ I just want to know whether it's typo or not. hehe 06:32
06:35 mtk left
cotto sleeps 06:36
dalek rrot/m0-spec: 4ca50d2 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
make variables table register less ambiguous, add question about constant variables
06:37 JimmyZ left 06:42 mtk joined 07:03 bacek joined 07:17 plobsing left, plobsing joined 07:56 contingencyplan left 08:11 jrtayloriv joined 08:41 ShaneC left 08:45 Tux joined 08:46 Tux left
moritz fwiw Tux++ has now configured clunker3 not to join #parrot again 08:51
the command we were looking for was !part #parrot 08:52
09:08 lucian joined
Tene blog.regehr.org/archives/496 -- interesting optimization technique 09:26
09:29 lucian left 09:31 cgaertner joined
cgaertner hello #parrot 09:31
moritz hi cgaertner
cgaertner I've got a single-line patch to silence a warning i'm seeing 09:34
how would I go about getting that into parrot?
moritz either nopaste the patch here, and hope that somebody is willing to apply it right now (I'm willing, but not competent :/) 09:36
or open a ticket that includes the patch (sounds like overkill, but the chances that it gets lost somewhere are lower)
or fork parrot on github, and issue a pull request
bacek ~~ 09:42
cgaertner, just nopaste it 09:43
aloha, nopaste?
aloha bacek: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
cgaertner bacek: I probably need a parrot fork anyway, so that's what I'm doing right now... 09:45
09:45 mikehh left
bacek cgaertner, not necessary. Just "git diff" will be good enough 09:46
09:49 woosley left
cgaertner bacek: I'm appplying for gsoc, so I need to set up infrastructure anyway 09:53
pull-request sent, btw
bacek cgaertner, it's wrong patch. 09:55
better to change Configure.pl to properly detect snprintf
09:56 mikehh joined
bacek config/auto/snprintf.pm 09:56
cgaertner bacek: however, you should always #undef when shadowing libc functions 09:57
bacek cgaertner, yes.
But we shouldn't shadow snprintf if it's available
#define snprintf Parrot_secret_snprintf is hackish workaround when actual snprintf isn't available 09:58
btw, on which system snprintf defined in libintl.h? 09:59
cgaertner bacek: snprintf is available, just wrong - it's broken on mingw (no z modifier, eg)
bacek "Z" isn't standard modifier 10:01
ah.
"z"
cgaertner there might be other issues because afaik mingw just wraps the ms crt 10:04
so any code which expects standard behaviour has to do what parrot does, and I suspect libintl does the same, so we end up with 2 wrapper functions
^macros
bacek cgaertner, bugs.debian.org/cgi-bin/bugreport.cgi?bug=452977 10:05
Ok.
Better solution: check that "system snprintf" is good enough in config/auto/snprintf.pm (e.g. "z" modifier, etc); set PARROT_HAS_C99_SNPRITNF if it's only good enough; combine with your patch. 10:07
cgaertner I'll have to go now, but I'll look into it 10:08
bacek cgaertner, ok. I'll apply your initial patch. It's needed anyway. 10:09
dalek rrot: 8965d78 | bacek++ | include/parrot/misc.h:
Undef snprintf before possible shadowing of system snprintf to avoid compiler's warning. cgaertner++ for original patch.
10:13
rrot/opsc_llvm: 7b1db1e | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Use "multi" for auto-generated methods as well.
10:26
10:36 cgaertner left, cgaertner joined 10:43 mtk left 10:49 cgaertner left, jrtayloriv left, cgaertner joined
dalek TT #2083 created by bacek++: Reintroduce --cxx flag in Configure.pl 10:51
TT #2083: trac.parrot.org/parrot/ticket/2083
10:59 cgaertner left 11:06 jrtayloriv joined 11:15 cgaertner joined 11:34 nwellnhof joined 11:40 jrtayloriv left 11:54 dodathome left 11:55 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner 12:09 lucian joined
dalek rrot/jit_prototype: 36cce34 | bacek++ | config/auto/llvm.pm:
Use llvm_config from Configure.pl parameters instead of hardcoded "llvm-config"
12:10
rrot/jit_prototype: 35a8807 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Use "multi" for auto-generated methods as well.
rrot/jit_prototype: 8f4dace | bacek++ | runtime/parrot/library/LLVM.pm:
[llvm] Rework generation of "enum classes".

  $foo++ doesn't increase number somehow. Use explicit +1.
rrot/jit_prototype: 0ef24dc | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[llvm] Fix creating of LLVM::Values
rrot/jit_prototype: bc00fa7 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[llvm] Fix Build?Cmp invokation
rrot/jit_prototype: c5dc43d | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[llvm] Fix generating of bitwise ops
rrot/jit_prototype: df1a537 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Made $!jitted_sub explicit attribute of Ops::JIT
rrot/jit_prototype: fb218b1 | bacek++ | / (2 files):
Implement "if" jitting.
rrot/jit_prototype: e212ede | bacek++ | t/jit/test.t:
Enable a lot of debugging.
rrot/opsc_llvm: 4e2e1be | bacek++ | runtime/parrot/library/LLVM.pm:
[llvm] Rework generation of "enum classes".

  $foo++ doesn't increase number somehow. Use explicit +1.
12:12
rrot/opsc_llvm: 05840ef | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[llvm] Fix creating of LLVM::Values
rrot/opsc_llvm: 6d1337f | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[llvm] Fix Build?Cmp invokation
rrot/opsc_llvm: 15b1c9a | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[llvm] Fix generating of bitwise ops
lucian Tene: reading that article 12:14
cgaertner cpan 12:17
ww
12:19 bubaflub joined 12:21 woosley joined 12:27 benabik left 12:32 dodathome joined 12:39 cgaertner left 12:49 bluescreen joined 12:54 bluescreen left
dalek rrot: afb4ff4 | Whiteknight++ | /:
Merge branch 'master' of github.com/cgaertner/parrot
12:55
12:55 whiteknight joined
whiteknight good morning, #parrot 12:58
lucian whiteknight: good day
whiteknight hello lucian, how are you doing todaY?
lucian frantic dissertation and game work
whiteknight frantic is the way it should be. In the final months of my MS thesis, I was a damned lunatic 13:00
13:03 mtk joined 13:04 darbelo joined 13:09 bluescreen joined 13:14 nwellnhof left 13:21 lateau joined
plobsing NotFound: is there a way to get Winxed to support null-ary constructors? I want to use a constructor of the form 'function Context(int i[optional], int has_i[opt_flag]) { ... }', but 'var ctx = new Context();' doesn't compile down to a constructor call. 13:25
13:32 plobsing left 13:36 lateau left, JimmyZ joined 13:40 mtk left 13:41 mtk joined, rohit_nsit08 joined
rohit_nsit08 whiteknight : good morning 13:42
dukeleto: hi 13:43
bubaflub morning rohit_nsit08
rohit_nsit08 bubaflub: hi, good morning 13:44
13:44 mtk left, mtk joined 13:45 mtk left, mtk joined 13:53 benabik joined 13:55 Andy_ joined
darbelo ~~ 13:55
whiteknight rohit_nsit08: good morning 13:57
14:01 Drossel left
rohit_nsit08 whiteknight: i have started work on cafe , and the build issue it was facing earlier has now been removed, thanks to zaach who updated it's test module which was causing error earlier 14:01
whiteknight okay, awesome. So all that is working for you now 14:02
?
rohit_nsit08 yes, i can start my work with cafe now
whiteknight rohit_nsit08: A good idea would be to copy the kinds of output that winxed or nqp generate
rohit_nsit08: With nqp you can type "parrot-nqp --target=pir" to see the PIR code that gets generated 14:03
with winxed, you can do "winxed -c" to get the PIR code
rohit_nsit08: start with small examples in those languages to see examples of PIR code to generate 14:04
rohit_nsit08 whiteknight: what simple programs should i start with, i haven't done any study in nqp and winxed , have tried some in PIR and compiled them on parrot 14:06
whiteknight rohit: you can try simple things like if/else, loops, etc
tadzik hello parrots
whiteknight good morning, tadzik
lucian whiteknight: btw, i should have a little time this weekend to look into 6model, if you're interested at all 14:07
whiteknight i am, very
maybe we could look together and share notes
14:19 JimmyZ left
rohit_nsit08 whiteknight: do i need to install winxed separately ? it's showing command not found 14:20
whiteknight yes, it's separate 14:21
rohit_nsit08: Get plumage. That makes everything easier. Let me put together a quick tutorial foryou
rohit_nsit08: gist.github.com/894484 14:23
rohit_nsit08 whiteknight: thanks. 14:24
whiteknight rohit_nsit08: Once you have plumage, you can install most parrot projects with one command 14:30
rohit_nsit08: at the end of the summer, your project should be able to use plumage as well (it takes 10 minutes to set it up) 14:31
rohit_nsit08 whiteknight: ok, plumage installed succesfully, now testing programs on it :-) 14:32
14:34 plobsing joined
NotFound plobsing: I'm still not sure if that change may break something. However, I think I should do it now, and fix whatever gets broken. 14:42
14:43 contingencyplan joined
darbelo rohit_nsit08: You might want to make use of plumage's config-file to make sure it places checkouts in a place you like, instead of the deafult. 14:45
plobsing NotFound: I don't doubt it will break something (I'm almost sure I depend on the opposite functionality). But I'd like long-term consistency more than short-term stability 14:46
NotFound rohit_nsit08: note that winxed and nqp generate code in different ways. nqp uses inner functions for most control structures, winxed uses local gotos. 14:47
rohit_nsit08 darbelo: checkouts as in? pls explain. I have generated a pir code from a simple winxed file.
dalek rrot: 84cb2d0 | petdance++ | src/hash.c:
consted a pointer
14:48
rrot: e6a12ad | petdance++ | / (2 files):
flagging args as not nullable
rrot: abd37c6 | petdance++ | / (2 files):
arg_sis is ARGOUT, not ARGMOD
darbelo rohit_nsit08: I was talking about whiteknight's tip to use plumage for fetching stuff. By default plumage makes a checkout of the project's sources in a default directory (.parrot/plumage/.../) 14:50
You can override that default from a config file.
rohit_nsit08 darbelo: hmm. let me check it 14:52
darbelo: hi, where is the config file located ? 14:56
dalek rrot-zeromq: b504fcc | plobsing++ | / (3 files):
separate out constants and provide support for inclusion of these elsewhere
rrot-zeromq: 494f089 | plobsing++ | src/ZeroMQ.winxed:
anonymize load function
rrot-zeromq: ad1022d | plobsing++ | src/ZeroMQ.winxed:
null checks arent boolean comparisons in Parrot HLLs
dukeleto parrot-zeromq ? that sounds new. 14:57
plobsing it is fairly new
moritz plobsing: what does it do? 14:58
(hint hint, it needs a README)
rohit_nsit08 darbelo: and pls tell me what did u mean by checkouts? i am still not familiar with the terminologies, what i was doing was to compile the simple winxed file to PIR to see what output it generates since winxed is a similar to javascript 14:59
plobsing moritz: it provides bindings to libzeromq. yes, I know it needs a readme
it also needs to build
and a decent test suite
dukeleto rohit_nsit08: "checkout" = directory of code
rohit_nsit08: "subversion checkout" is roughly similar to "git repository"
darbelo rohit_nsit08: when you tell plumage to "plumage install qinxed" plumage will do an svn checkout of the winxed sources, build them and install the result. 15:00
plobsing s/qinxed/winxed/
rohit_nsit08 dukeleto: hi, got it. But where exactly is winxed getting installed. in usr/local/bin? 15:02
NotFound rohit_nsit08: the install directories are taken from parrot. You should use plumage with a installed parrot. 15:03
whiteknight rohit_nsit08: mine is in /usr/local/bin
rohit_nsit08 i checked it , mine too
that's why no need to set path variables 15:04
whiteknight rohit_nsit08: you said you were able to compile a small test file to PIR?
NotFound If you can't use privileged directories, or don't want, you can use the --prefix option of parrot Configure
rohit_nsit08 whiteknight: yes , compiled it to PIR code
used " winxed -c text.winxed "for it 15:05
whiteknight rohit_nsit08: Okay, perfect. You can use that to get clues about how to write your own code generator
Andy_ I have this dream
I have a dream that someone besides me in Parrotland will work on splint errors and annotation, too. 15:06
15:06 Eduardow joined
rohit_nsit08 whiteknight: so i should see the source code of winxed, to see how it 15:06
it's code generator is doing that, is it ?
whiteknight rohit_nsit08: code.google.com/p/winxed/source/bro...st1.winxed 15:07
dukeleto Andy_: is there a document to help people learn how to do it ?
whiteknight Andy_: I don't think I've ever used splint in my life
Andy_ dukeleto: No, there isn't. Chicken/egg.
rohit_nsit08 whiteknight: thanks, i read that winxed is also bootstrapped, it will a good example to learn from :-) 15:09
whiteknight rohit_nsit08: Yes, winxed is a fun example. Winxed stage 0 is written in C++
winxed stage 1 is written in winxed 15:10
rohit_nsit08 whiteknight: yup, read that too :-)
whiteknight: winxed requires to have a main function to generate PIR code , but normally we don't require main in javascript like languages, is this a difference between using javascript in browser and using javascript on commandline? 15:11
whiteknight rohit_nsit08: winxed is different from javascript. It does things that JavaScript does not do 15:12
NotFound rohit_nsit08: winxed borrow most syntax from javascript, but is not javascript.
rohit_nsit08 whiteknight: ya, it only borrowed some syntax from javascript. I wanted to know whether compiler will need to compile the exact code we use in html or any difference will be there? 15:14
moritz rohit_nsit08: the code you use in HTML files is not only javascript, but also accesses the DOM
whiteknight rohit_nsit08: I think it will be the same in a browser
NotFound All code must be inside functions. A main is not always required if you don't expect to be used from command line. 15:15
moritz you don't need to implement that part
in case of doubt, there's a specification (under the name ECMAScript)
NotFound Javascript requires a hosting environment, though.
It may be a browser or any other thing, but it should provide some basic functionality. 15:16
rohit_nsit08 moritz: i went through the ECMAScript, dom scripting is not a part of javascript
i will have to do some more research to get sure about it 15:17
moritz rohit_nsit08: I meant more about the mainline code issue 15:18
I'm pretty sure DOM is not ECMAScript standard, but HTML standard
rohit_nsit08 moritz: yes, u are correct
NotFound The basic thing is that variables not declared are searched for in the hosting environment. In the browser, document, window... are used that way. 15:19
rohit_nsit08 NotFound: hmm.. we will not be using anything like that 15:20
NotFound And the DOM et al are methods in the objects you get from those variables.
rohit_nsit08 yup
NotFound rohit_nsit08: buy you probably must provide a minimal hosting environment. 15:21
moritz I'd expect builtin classes (like Math) to come from something similar to the hosting environment
(in Perl 6 we call it "setting")
NotFound I'm not sure if 'hosting environment' is the correct terminology, I've read it in some doc somewhere... 15:23
rohit_nsit08 i think built in classes can possibly be implemented, what is a hosting environment btw, can u explain somewhat?
NotFound rohit_nsit08: basically is the place were you look for variables that are not localy declared. 15:24
moritz it's like an out scope where variables and symbols are looked up that are used but not declared
var a = 1; a // use the a you just declared
a // look up 'a' in the hosting env, return undefined if not successful
rohit_nsit08 ohh, that is a basic feature of javascript and must be implemented 15:25
moritz: thanks , i've noted it :-)
NotFound For example, interpreters intended for command line usage provide a 'print' function. 15:26
That function is in the environment provided in command line usage. 15:27
rohit_nsit08 NotFound: ya, i was confused about the print function in javascript. is there any in javascript? i couldn't find any
i html we use document.write or alert but how will we do it in commandline?
NotFound rohit_nsit08: is not part of the language, is a convention in the environment for cli usage.
Browers enviroments don't provide it. 15:28
Coke console.log ?
benabik Most CLI javascript I've seen gives things like print, println, include... And maybe file IO. 15:29
rohit_nsit08 NotFound: So i'll have to use commons CLI, to use print in javscript? 15:30
and for others features also?
NotFound But is not the interpreter who provides that, is the environment created for command line usage.
benabik NotFound: True
NotFound rohit_nsit08: you should provide at least some minimal functionality, at least to be able to run tests. 15:32
rohit_nsit08 NotFound: sorry but i'm a little confused about this thing let me phrase my question . " i want to give user a facility on commandline to compile their program they have written in javascript and the program should output some result, so what should the programmer use in his program to print his answer " 15:34
i want to give him something similar to print('hello') functionality 15:35
15:35 dmalcolm joined
moritz so, do it. 15:36
with print()
NotFound rohit_nsit08: The hard part may be to implement the javascript scope rules. The outermost scope will be the hosting environment. 15:38
rohit_nsit08 moritz, hmm.. ya but that should be in the language specification, isn't it?
NotFound rohit_nsit08: no, the language specification just tell you where to look.
Command line programs look for print and the like, browser scripts look for document, window... 15:39
Coke NotFound: (console) 15:40
NotFound If the are used in unexpected environments, they just fail.
rohit_nsit08 NotFound: that means , i can add things in javascript for my compiler? and it will still follow the specification? okey that can be done i guess
NotFound Coke: right
rohit_nsit08: yes, but it will be better if you follow the conventions other interpreters already use, like print. 15:41
rohit_nsit08 yes, i'll do some more research on this and follow the conventions which are used already 15:42
NotFound: thanks, got my homework for today :-) 15:43
i'll look about the hosting environment in some more detail
NotFound rohit_nsit08: look for "host environment" or "host objects" 15:46
15:52 theory joined
dalek nxed: r886 | NotFound++ | trunk/winxedst1.winxed:
replace initialize method in Emit with a constructor
15:53
lucian rohit_nsit08: what's in javascript's global scope is not specified
15:56 bluescreen left
cotto_work ~~ 16:01
16:01 dukeleto left
dalek nxed: r887 | NotFound++ | trunk/winxedst1.winxed:
drop parenthesis in new for classes without a constructor
16:03
nxed: r888 | NotFound++ | trunk/winxedst1.winxed:
drop parens in new EmptyStatement
16:06 bluescreen joined
dalek nxed: r889 | NotFound++ | trunk/winxedst1.winxed:
use constructors in OpAdd, OpSub, OpShiftleft and OpShiftright
16:14
nxed: r890 | NotFound++ | trunk/winxedst1.winxed:
drop parens in new of OpEqual, OpNotEqual, OpLess, OpLessEqual, OpGreater and
16:24
16:24 particle left
nxed: r891 | NotFound++ | trunk/winxedst1.winxed:
use constructors in OpMul, OpDiv, OpMod and OpCMod
16:29
16:34 particle joined
cotto_work darbelo++ for mentoring 16:36
whiteknight darbelo++ indeed 16:38
darbelo It's been a long time since I last did anything useful for parrot. I figured it was a good way to jump back into it. 16:39
whiteknight darbelo: what have you been up to? 16:43
anything fun? 16:44
darbelo Kinda. Got a job doing 'mobile' development.
whiteknight oh nice. iphone or android? 16:45
dalek nxed: r892 | NotFound++ | trunk/winxedst1.winxed:
use constructors in OpDelete, OpExists, OpUnaryMinus, OpNot, OpPreInc and
whiteknight those being the only two choices I can possibly imagine
darbelo Both, actually. But mostly iPhone. 16:46
whiteknight that's very cool
darbelo And we're branching into Mac stuff as well.
whiteknight what's the company?
darbelo www.quadion.com.ar 16:47
cotto_work Mmmmm. Pirate domains. 16:48
darbelo Arrr. 16:49
NotFound .pir?
dalek nxed: r893 | NotFound++ | trunk/winxedst1.winxed:
use constructors in OpBoolAnd and OpBoolOr
16:50
16:52 Kulag joined
dalek sella: 5d3f14c | Whiteknight++ | / (7 files):
move swap_handles routine from Test.TestFile to new Rosella.IO namespace. Implement a new output_is assertion with the new routine at its core
16:55
sella: 04191f0 | Whiteknight++ | / (3 files):
some fixes for output_is. Add some tests for the new assertion
sella: f81c66e | Whiteknight++ | / (10 files):
Rosella.isa -> isa_type for clarity. Refactor the way errors are communicated to Result and Listener classes. Move error sorting logic from Suite to Result, let it determine how errors are passed to the Listeners
sella: 83b109e | Whiteknight++ | / (2 files):
use isa_type more pervasively, to prevent ad hoc solutions from appearing all over the place. Pass in exception objects to Assert.fail, where available, so the user gets more information about nested failure conditions. Add in some more stub tests for Result
sella: 62b40c5 | Whiteknight++ | src/test/ (4 files):
move logic for extracing a Failure from an Exception into a separate function. Report failures in a loop, so we can show failures to an arbitrary nesting depth.
nxed: r894 | NotFound++ | trunk/winxedst1.winxed:
use constructor in OpConditional
16:56 dukeleto joined 16:59 M_o_C joined
dalek nxed: r895 | NotFound++ | trunk/winxedst1.winxed:
drop parens in new Condition
17:00
dukeleto whiteknight: your recent email to parrot-dev has a truncated sentence in the 2nd paragraph 17:03
whiteknight: ah, i see you responded already :) 17:04
whiteknight yeah, I sent a followup
gmail crapped, and when it sent the message it sent the last saved version, not the version that existed when I clicked Send
dukeleto whiteknight: thanks for herding mentors. I have a lot of stuff going on right now and I am trying to swim back to the surface for air 17:05
dalek nxed: r896 | NotFound++ | trunk/winxedst1.winxed:
use constructors in OpBinAnd, OpBinOr and OpBinXor
17:06
17:11 woosley left
dalek nxed: r897 | NotFound++ | trunk/winxedst1.winxed:
drop parens in new of OpAssign, OpAssignTo, OpAddTo, OpSubTo, OpMulTo, OpDivTo
17:11
17:13 davidfetter joined 17:15 rohit_nsit08 left
dalek nxed: r898 | NotFound++ | trunk/winxedst1.winxed:
use constructors in OpPostInc and OpPostDec
17:16
17:21 bacek left
dalek nxed: r899 | NotFound++ | trunk/winxedst1.winxed:
drop parens in new of SimpleArgList
17:21
17:22 M_o_C left
dalek nxed: r900 | NotFound++ | trunk/t/ (4 files):
fix several tests in advance for future changes in new/constructor calls
17:32
nxed: r901 | NotFound++ | trunk/t/vtable.t:
fix vtable override test in advance for future changes in new/constructor calls
17:35 bluescreen left 17:37 soh_cah_toa joined
dalek nxed: r902 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler - last chance before disruptive changes
17:37
whiteknight disruptive changes, sounds fun! 17:43
17:45 Eduardow left
Coke wonders what is with this admin&mentors throwing out things like "This is unacceptable" on the mentors list. 17:45
"Can't we all just get along?"
17:46 bluescreen joined 17:47 ShaneC joined
NotFound sings 'Money, money, money...' 17:48
benabik Coke: "nearly two thousand years after one man had been nailed to a tree for saying how great it would be to be nice to people for a change"
17:50 jevin left 17:51 jevin joined 17:53 Eduardow joined
plobsing is there something to that discussion? all I can see is "whine whine whine, tl;dnr" 17:53
NotFound whiteknight: disruptive change will be: "new Something()" calls constructor, "new Something" doesn't 17:55
whiteknight Coke: I noticed that trend last year too. Some people are so ungrateful for the whole GSoC program 17:56
Coke: Some people can't resist angrily looking a gift-horse in the mouth 17:57
plobsing NotFound++ # fast turnaround on language improvements
NotFound++ # putting up with armchair language architects like me 17:58
whiteknight NotFound++ Yes, he's always very receptive to requests
cotto_work It's easy to look at Melange and gripe about it without realizing that google isn't obligated to do anything.
NotFound That was planned, but I tend to delay incompatible changes. Now it seems to be a good moment for change. 17:59
whiteknight exactly. They're taking a few million dollars of their own cash, and basically throwing it at the open-source community to get work done
cotto_work It's pretty great. I can deal with a poor ui. 18:00
18:00 bluescreen left
NotFound I think a lot of people have a need to let the world now that they can appreciate a nice GUI. Like wine aficionados. 18:02
s/now/know 18:03
Coke does that sort of thing for a living. bitching about it to the melange team (which was also volunteer, at least in previous GSOCs) seems crass. 18:15
lucian actually, i think melange is much better this year 18:16
sorear I thought the main complaint was that it was slow 18:17
opbots names
opbots trust lucian 18:18
slavorg Ok
slavorgn Ok
whiteknight lucian: I agree, but the point remains: Even if it was absolutely terrible, it's still a free service hosted by a company who could easily take their millions of dollars somewhere else
lucian sorear: well, it is slow. meh
whiteknight If Google took down the website entirely, and I had to manage PaFo involvement by snail mail, I still wouldn't complain 18:19
benabik whiteknight: That's because you're one a rare kind of person: a reasonable one. 18:20
whiteknight benabik: who would have known it's so lonely in here?
18:21 M_o_C joined
lucian sorear: oh, i'm op 18:22
should i register this nick or something?
whiteknight can you register nicks on this server? 18:23
Coke not sfaik.
tadzik nope 18:24
lucian i was thinking that anyone could /join with my nick 18:25
cotto_work they can
benabik irc.perl.org appears to run on Wheaton's Law
whiteknight lucian: Don't worry, #parrot isn't exactly a hotbed of spam, trolling, or internet ass-hattery
lucian ok 18:26
whiteknight in other words, #parrot isn't the GSoC mailing list 18:48
no, that's not fair. They don't seem to have a lot of spam
dalek sella/gh-pages: 889d350 | Whiteknight++ | index.md:
add links to libraries on the index page
18:54
sella/gh-pages: f52ce08 | Whiteknight++ | libraries/t (2 files):
flesh out the test and harness pages
sella/gh-pages: fad9fb3 | Whiteknight++ | libraries/ (2 files):
rename tap_harness.md -> harness.md
sella/gh-pages: 91b7e4f | Whiteknight++ | / (2 files):
tap_harness -> harness
18:56 wagle left 19:00 GodFather joined 19:01 wagle joined
plobsing NotFound: does Winxed have any recomended documentation system? 19:05
whiteknight winxed barely has documentation 19:06
real coders identify the necessary concepts by smell 19:07
19:08 bacek joined
Coke <the critic> It STINKS!</the critic> 19:11
atrodo Coke++ 19:12
dalek rrot-zeromq: 4f7aaa0 | plobsing++ | README.pod:
add readme
19:14
19:15 bluescreen joined 19:17 M_o_C left
dalek rrot-zeromq: 14df85e | plobsing++ | README.pod:
fix spelling errors
19:19
rrot-zeromq: 6a54bc9 | plobsing++ | README.pod:
split link out from title to accomodate some renderers
NotFound plobsing: I use the Nessie documentation system. 19:25
- All people belive it exists
- Some claim to have seen it
- But you can't never see it 19:26
plobsing ah. right.
19:32 bluescreen left, plobsing left 19:33 benabik left 19:43 ambs joined 19:47 bluescreen joined, mtk left 19:48 mtk joined, mtk left 19:50 mtk joined, mtk left
dalek sella: 83ce814 | Whiteknight++ | / (2 files):
tap_harness -> harness. The defaults are TAP, but there's no reason why it has to be
19:55
sella: 7d88708 | Whiteknight++ | / (31 files):
rename src/tap_harness to src/harness to reflect the new name of the library. Add the test files for the harness classes into the harness so we actually run them
whiteknight msg rohit_nsit08 Take a look at this article about Node.js: nodeguide.com/ 19:59
aloha OK. I'll deliver the message.
20:00 bluescreen left
soh_cah_toa hey guys, i've made some revisions to my gsoc proposal: gist.github.com/889795 20:02
whiteknight soh_cah_toa++
soh_cah_toa i took your advice and i'm glad b/c i think it's MUCH better
whiteknight it is looking much better 20:03
soh_cah_toa yay 20:04
bacek Good morning, humans
whiteknight soh_cah_toa: it looks much much better. I don't think I have any criticisms
great work
soh_cah_toa whiteknight: thanks. it's a little hard to work out the timeline though. all i really have as a reference is imagining myself forgetting about any hobbies and doing nothing but homework all summer :) 20:05
whiteknight soh_cah_toa: what you need to do is make writing cool software a hobby, not work
soh_cah_toa: you're not doing this because it's a requirement, you're doing it because you get to show off your kick-ass code talents and create something that other people are going to want to really use 20:06
soh_cah_toa oh no, code is definitely a hobby
whiteknight not endless quicksort benchmarks in lab
soh_cah_toa ha!
Coke finds that writing code for fun & profit (but not at the same time) is a good thing. 20:07
not *necessarily*
20:07 plobsing joined
whiteknight Coke: agreed. If I were paid to be working on Parrot, I would go home at night and do *anything* else 20:07
soh_cah_toa i wouldn't know. i've never been paid to write code
whiteknight soh_cah_toa: it's fun for about a day and a half 20:08
well, that's for real jobs. GSoC is a little bit different
soh_cah_toa :)
whiteknight GSoC you don't have a boss, or billable hours, or QA goons chasing you around with sticks
soh_cah_toa or tax deductions gone wild 20:09
whiteknight clients with conflicting specifications
Coke your clients HAVE SPECS? cheater.
20:10 darbelo left
whiteknight they claim to have specs. They don't always tell us what they are until we've already delivered the wrong thing 20:10
it's like a guessing game
Coke is doing that now with some UI stuff. 20:11
the trick is to get paid by the hour, not by the project. 20:12
whiteknight yeah, I will be glad if I never have to do UI work again
soh_cah_toa that's funny. nearly every book i've ever read starts out by mentioning how your clients will never have clear, concise requirements
whiteknight last time I did, I put together this huge program with all sorts of tools for testing and manufacturing. I held a demo and my bosses spent no less than 35 minutes straight arguing over the size and location of one of the buttons 20:13
I kept thinking "okay, does anybody want to see what happens when I actually click the button?"
soh_cah_toa that does not suprise me
dalek rrot/jit_prototype: fba17c9 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Implement handling of ++.
20:27
rrot/jit_prototype: 2d9fb3b | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Implement handling of --
20:29 whiteknight left
nopaste "bacek" at 192.168.1.3 pasted "JIT WIP" (72 lines) at nopaste.snit.ch/39081 20:30
20:32 cognominal left
dalek rrot/jit_prototype: 87f022d | bacek++ | compilers/opsc/src/Ops/JIT.pm:
DRY: factor out _process_prefix_protfix.
20:36
bubaflub bacek++ 20:41
that's great work
20:42 dodathome left, bluescreen joined, bluescreen left 20:53 cognominal joined
dalek nxed: r903 | NotFound++ | trunk/examples/ (3 files):
update some examples for compatibility with future changes
20:55
21:03 GodFather left 21:05 ambs left 21:06 ambs joined, jsut_ joined 21:07 jsut left
bacek seen luben 21:08
aloha luben was last seen in #parrot 5 days 14 hours ago saying "that mostly test for llvm-gcc which is not essential: LLVM.pm bindings use only libLLVM".
21:09 lucian left
dalek nxed: r904 | NotFound++ | trunk/examples/ (2 files):
update some more examples for compatibility with future changes
21:10
cotto_work atrodo: ping 21:12
21:20 donaldh joined
dalek nxed: r905 | NotFound++ | trunk/winxedst1.winxed:
fix silly mistake: inserted indentation between root_ and new
21:21
nxed: r906 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler - last chance before disruptive changes - hope this
21:25 ambs left
dalek rrot/jit_prototype: 98c57a3 | bacek++ | runtime/parrot/library/LLVM/BasicBlock.pm:
[llvm] Add BasicBlock.first/.last_instruction
21:28
rrot/jit_prototype: 57eef87 | bacek++ | runtime/parrot/library/LLVM.pm:
[llvm] Bind semi-generated LLVMIsAFoo functions.
rrot/jit_prototype: d6340d0 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
[llvm] Bind LLVM::Value.isAFoo methods.

TODO: rename them to more perlish style similar as in LLVM::Builder.
rrot/jit_prototype: 14c3172 | bacek++ | t/compilers/opsc/data/06.pir:
Add more test cases.
rrot/jit_prototype: 8738165 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Temporary disable keep_going check. We shouldn't stop on local branches
rrot/jit_prototype: 1d7a17a | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Don't insert uncoditional branch if last instruction is terminator.
rrot/jit_prototype: a76f6b1 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Implement handling of ==
rrot/jit_prototype: 9d8dbe4 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Support Parrot's constants in goto_offset handling
nopaste "bacek" at 192.168.1.3 pasted "LLVM JIT: simple loop :)" (25 lines) at nopaste.snit.ch/39082 21:31
dalek nxed: r907 | NotFound++ | trunk/examples/hlltest.winxed:
update example hlltest for compatibility with future changes
21:34 sigue joined 21:37 Andy_ left 21:38 theory left
cotto_work bacek: impressive 21:39
21:42 luben joined
luben bacek, I'm here 21:42
dalek nxed: r908 | NotFound++ | trunk/winxedst1.winxed:
DISRPUTIVE CHANGE - call constructors in new with zero arguments
21:57
plobsing \\o/ 22:06
that might be yay, or some kind of explosion
NotFound Or wings.
dalek nxed: r909 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler - DISRUPTIVE CHANGE - use r907 for backwards
22:08
rrot-zeromq: 555bb6c | plobsing++ | t/socket.t:
add socket lifecycle tests
22:12
22:15 donaldh left 22:28 kid51 joined
cotto_work msg atrodo Are you interested in working on an M0 assembler, disassembler or interpreter based on the current spec? 22:35
aloha OK. I'll deliver the message.
22:40 whiteknight joined 22:42 cosimo joined
dalek rrot/opsc_llvm: f53c3b9 | bacek++ | runtime/parrot/library/LLVM/BasicBlock.pm:
[llvm] Add BasicBlock.first/.last_instruction
23:08
rrot/opsc_llvm: fd74043 | bacek++ | runtime/parrot/library/LLVM.pm:
[llvm] Bind semi-generated LLVMIsAFoo functions.
rrot/opsc_llvm: 9352457 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
[llvm] Bind LLVM::Value.isAFoo methods.

TODO: rename them to more perlish style similar as in LLVM::Builder.
bacek_at_work luben, can you implement renaming of methods in LLVM::Value similar to one in LLVM::Builder? 23:09
luben, (if you'll have time of course)
luben yes
I will look at it
bacek_at_work luben, ok, thanks
kid51 git instruction needed: How can I alter the commit message for a commit which I've made locally but not yet pushed to origin? 23:16
plobsing git commit --amend 23:17
or git rebase --interactive 23:18
kid51 If I use "git commit --amend", can I follow it with a message, say: git commit --amend -F "../mymessage" ? 23:19
plobsing kid51: I usually let it pop up my $EDITOR 23:21
kid51 Let's go for it.
luben working on it
kid51 plobsing: Yes, but on this box I forgot to change $EDITOR from nano (?) to vi, and I made a mistake in nano.
dalek rrot: a5e41d0 | jkeenan++ | / (9 files):
By popular demand, restore ability to provide a specific C++ compiler to
23:22
whiteknight good evening, #parrot 23:25
dalek nxed: r910 | NotFound++ | trunk/examples/mal.winxed:
delete an unuseful example of bad syntax
kid51 whiteknight: it appears that at yesterday's #ps no one brought up your comments on trac.parrot.org/parrot/ticket/1284 or trac.parrot.org/parrot/ticket/560 23:27
23:27 theory joined
sorear hi whiteknight 23:28
23:30 kid51 is now known as kid51_at_dinner
dalek rrot: 3392685 | plobsing++ | src/pmc/hash.pmc:
make available to HLLs two new derived hash key types - PMC_ptr and STRING_enc

By default key types are unavailable to HLLs because they are "dangerous". However, these types are derived from PMC and STRING key types, differing only in comparison function.
Also, simplify chained if-else into a switch.
23:38
rrot-zeromq: ea14ad8 | plobsing++ | src/ZeroMQ.winxed:
fix visibility problem
rrot-zeromq: ca87753 | plobsing++ | src/ZeroMQ.winxed:
use correct name for NCI symbol
rrot-zeromq: ec10b69 | plobsing++ | src/ZeroMQ.winxed:
use PMC_ptr key type to use reference semantics on keys
rrot-zeromq: 16a99e4 | plobsing++ | examples/req-rep/ (2 files):
add request/reply example
ttbot Parrot 33926852 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/61354 23:40
whiteknight kid51: I need to hire an advocate 23:45
sorear: good evening. How are you tonight?
kid51_at_dinner whiteknight: I was under considerable stress at $job, so I couldn't pay much attention to #ps yesterday. 23:47
dalek rrot: b686454 | plobsing++ | src/pmc/hash.pmc:
cast value in order to satisfy cxx
23:50
plobsing wheee ØMQ makes Parrot segfaulty all over 23:53
dalek rrot/opsc_llvm: a732aa3 | luben++ | runtime/parrot/library/LLVM/Value.pm:
make more perlish method names
cotto ~~ 23:55
bcc makes me sad 23:57
whiteknight kid51_at_dinner: no worries, I obviously couldn't pay much attention myself
sorear which one?
whiteknight: ok?