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:04 bluescreen joined 00:09 lateau joined 00:12 kid51 joined
kid51 Is there *one* site where all the Parrot-related GSOC proposals are to be found? 00:13
cotto_work trac.parrot.org/parrot/wiki/ParrotG...11Students is the closest 00:15
I'm not sure I understand the reluctance to post on melange other than not wanting to use melange. 00:16
lucian cotto_work: or forgetting about it 00:17
kid51 cotto_work: That page lacks links to the students' proposals. 00:18
I know that some are on github gists
Others on parrot-dev 00:19
all over the place
dukeleto kid51: feel free to organize them :)
cotto_work "closest" doesn't necessarily mean "close" 00:21
kid51 Shall I email the candidates to have them add a link to the latest drafts of their proposals? 00:22
lucian kid51: done :)
cotto_work kid51: +0. I'd prefer they just put them in melange since they'll need to go there anyway.
kid51 Well, then, can you put a link to Melange on this page in our wiki: trac.parrot.org/parrot/wiki/ParrotG...11Students ? 00:23
I want to go to a single location so I can read them all at one sitting. 00:24
lucian: yes, that's what I was hoping for. Thanks.
dalek tracwiki: v10 | jkeenan++ | ParrotGSoC2011Students 00:28
tracwiki: trac.parrot.org/parrot/wiki/ParrotG...ction=diff
tracwiki: v11 | lucian++ | ParrotGSoC2011Students
tracwiki: trac.parrot.org/parrot/wiki/ParrotG...ction=diff
kid51 aloha, melange? 00:32
aloha kid51: melange is crapping out
whiteknight untill all the proposals are uploaded to melange, we won't have them all in one place
kid51 aloha, thanks (?)
whiteknight I've tried to get them all loaded onto github, but some students have done their own thing 00:33
kid51 Well, that's why I was proposing to contact them and have them add a link on that wiki page
whiteknight We do have two proposals on melange right now. bubaflub++ and lucian++
kid51 link?
lucian kid51: reload that wiki page
whiteknight www.google-melange.com/gsoc/dashboa...e/gsoc2011
bubaflub i have mine on a gist as well, but i'm keeping the melange one up to date 00:35
whiteknight you can edit it when it is in melange?
in years past, I thought that was something of a problem
lucian whiteknight: there's a WYSIWYG editor, it's not great but works 00:36
kid51 bubaflub: Can you put a link on that wiki page?
bubaflub kid51: sure, one moment 00:37
whiteknight I have yet to find a WYSIWYG editor that *was* great
atrodo whiteknight> vim?
whiteknight vim is WYSIWYG? And I don't use VIM
atrodo it probably depends on your definition of wysiwyg 00:38
bubaflub kid51: updated
whiteknight every couple months I install vim, use it until I get so angry it becomes a point of medical concern, then I uninstall it and go back to medit
in fact, it's been a few months since last time. I think I'm due
lucian whiteknight: it's just awesome, try it :)
whiteknight: there is a lack of awesome tutorials, they're just ok 00:39
atrodo whiteknight: wow, really? what do you find so frustrating?
lucian whiteknight: what i recommend is enabling vi bindings in your favourite editor
it's often a better match
plobsing try evim. keep your old keybindings, but using vim. not really sure why. 00:40
atrodo I actually ended up learning vim by using gvim in windows mode. Got use to it and used gvim to discover how to do things in vi
lucian plobsing: i don't see how that's any help (there's also cream like that)
whiteknight okay, I just installed it and am in vim
lucian vim without vi bindings is sort of pointless 00:41
whiteknight first question: how the hell do I exit it?
lucian whiteknight: heh
:wq
or :q
whiteknight both do nothing
lucian :w saves
whiteknight fuck it. Closed the terminal
lucian press esc, :q
whiteknight uninstalling vim
lucian :))
atrodo has a point, gvim is likely more forgiving
whiteknight on the bright side, apt makes these cycles very easy
lucian apt++
atrodo ctrl-z, ps | grep vim, kill -9 00:42
lucian although i prefer apt+1
apt+=1
atrodo: that's just evil
whiteknight as far as I am concerned, any console-based program that doesn't GO THE HELL AWAY when I press ctrl+c is broken
lucian i've been meaning to try emacs + viper
whiteknight I consider that to be a huge, unforgivable design flaw
cotto_work there's probably a nice way to set that up
atrodo lucian: that's how I get out of accidently opening some emacs variant, or mc
mikehh whiteknight: I have been using Kate for yonks as my principal editor, it is very customizable with lots of plugins
lucian at this point i find it hard to edit without vi bindings
whiteknight: actually, it's trivial to set it up :) 00:43
map <C-c> :q!
whiteknight mikehh: I was using kate for a while too. On my box it always output hundreds of lines of debug garbage to the console, and there were some problems with the colorschmes that made it unusable for me
dalek tracwiki: v12 | lucian++ | ParrotGSoC2011Students 00:44
tracwiki: trac.parrot.org/parrot/wiki/ParrotG...ction=diff
tracwiki: v13 | bubaflub++ | ParrotGSoC2011Students
tracwiki: trac.parrot.org/parrot/wiki/ParrotG...ction=diff
lucian dalek: you sure like your spam
whiteknight mikehh: there was a bug at one poing where it was impossible to change the color of the cursor in kate. I like a light-text-on-dark-background theme, and the cursor could not be changed from blank
mikehh: I used it for several months anyway, but eventually had to switch 00:45
atrodo: okay, I'm in gvim. I press escape, type :q<enter> and it doesn't exit 00:46
mikehh I am about to install Ubuntu 11.04 i386 beta and Kubuntu 11,04 amd64 beta, there are new versions there, I need to try out
whiteknight it says No write since last change
I don't know what that means, or how to just make it close anyway
cotto_work :q!
whiteknight blah
cotto_work ! forces it to close without saving changes 00:47
:wq saves and closes
whiteknight it's like windows. You say "shut down", then you have to spend 10 minutes clicking "yes I really want my damn computer to turn off" warning messages about every program that isn't responding
cotto_work That's so you don't accidentally lose unsaved work.
kid51 whiteknight: Windows is not the only offender there. I face same problem with this iBook. And, to a lesser extent, with Ubuntu at $job 00:48
But I feel your pain! 00:49
whiteknight kid51: no, you're right. I've always found windows to be the worst offender, but it isn't the only one
in ubuntu, I have an icon set up as an alias for "sudo shutdown -t now", which usually does the trick without the bullshit
kid51 What always gets me in Ubuntu is that I always have one or two unsaved files in gedit, which functions like a scratchpad for me 00:50
the text editors on my iBook are annoying in the same wayt 00:51
whiteknight I'm a save junky. I keep my fingers on ctrl+s and hit it every few seconds
I don't need my editor reminding me to do it more
plobsing agreed. The UI rule of "never delete the users work" is only for beginner users. When I say shutdown, I mean it. If you ask me if I'm sure, I'm just going to yank the power cord. 00:53
whiteknight plobsing: exactly 00:55
cotto_work I'd agree more if the q and w keys weren't right next to each other.
whiteknight plobsing: I've had so many occasions where I click shutdown and then run to catch a train. The next morning I come back, the computer is still on telling me that some program isn't responding
what's annoying me about vim, and maybe there's a setting to make all this crap go away, is that it doesn't seem to follow any of the key combinations that the entire rest of the world folls 00:56
follows
plobsing whiteknight: worse, I've shutdown, left, had the screensaver kick in (on a turned off screen), and blown a (really old) graphics card.
whiteknight I mean, ctrl+s, ctrl+c, ctrl+v, ctrl+x, etc all have extremely common meanings that all other programs follow
plobsing: ouch 00:57
ctrl+a, which should be "select all" is instead pasting something
shift+arrow doesn't select text, it jumps the cursor around in weird ways
pgUp and pgDown don't appear to be paging up and paging down 00:58
seriously, vim is the twilight zone
cotto_work That sounds like what Cream was made to address.
whiteknight cream? 00:59
plobsing whiteknight: to be fair, the most common programs for me are all readline-based and don't use those key combos at all. they're emacs-like.
cotto_work cream.sourceforge.net/keyboardshortcuts.html
whiteknight plobsing: oh. Maybe I'm just too used to my particular combos
atrodo whiteknight: vim has a emulate windows mode that sets up most of those key bindings
plobsing that's evim. I suppose it could be used to ease-in. But it somewhat defeats the point, in the short-run. 01:02
e for "easy"
whiteknight I really have very simplistic needs. I don't need the space shuttle, just a little honda 01:03
what bugs me is that so many editors get the most basic fundamentals of code editing wrong 01:04
color schemes that can't be easily modified, UI components which are broken, huge arrays of menus and nested submenus for features that I don't need and would like to hide, etc
plobsing everybody thinks their needs or "simple". it's a shame the intersection of all those "simple" needs is not so simple. such is software. 01:06
s/or/are/
whiteknight no, that's true
I say simple because I tend to be much more comfortable in the much more simplistic editors 01:07
cotto_work nano?
whiteknight I use nano a lot
if I could get smart indenting in nano, i might switch to that full time
it's copy+paste functionality is lame, but that can be forgiven 01:08
plobsing is copy paste that important? for people who don't get paid by the line? 01:10
whiteknight no. That's why I said it was forgivable 01:11
people keep telling me "try vim" or "try emacs", and I do. The reality is that I need to just stick with medit or something else of similar quality 01:13
bubaflub i just tried the example code at docs.parrot.org/parrot/devel/html/d...tantiation and it doesn't run 01:14
"Class '[ 'Foo' ]' not found
current instr.: 'main' pc 19 (test2.pir:14)"
any ideas? 01:15
plobsing namespaces aren't classes and classes aren't namespaces 01:16
we made mistakes about that in the past and have been learning that lesson the hard way for a while 01:17
bubaflub ah, so i need to do a newclass 01:18
plobsing yes. we do support methods in namespaces being auto-imported into classes, but I'm not sure that's a good idea long-term 01:19
bubaflub plobsing: can i have an init function in a class that takes a param? if so, how do i instantiate that object with new? 01:22
plobsing bubaflub: you can use init_int or init_pmc. alternatively, nearly every HLL finds these unsatisfactory, and they come up with constructor-conventions 01:24
Winxed follows C++. NQP and Rakudo do the Perl6 thing.
lucian whiteknight: meh, i tend to agree with vim's keybindings in general 01:26
i sort of wish gnome or kde has a modal option
01:34 whiteknight left 01:38 kurahaupo left 01:40 lucian left
bubaflub plobsing: should i use "t" for a c-string in an NCI signature or something else? i recall you saying something about that earlier today... 01:44
i see it, you recommend using p instead of a t 01:49
plobsing yes. the way "t" works, although convenient, lacks sufficient information to handle alloc/free responsibly. it has been deprecated, and will be removed. 01:52
01:54 mtk left
bubaflub plobsing: i have a few more questions but need to head home from class - i'll pester you if you are around when i get back 02:00
02:00 bubaflub left, mtk joined
cotto_work has prepared $dayjob's site for tomorrow 02:10
02:11 bluescreen left
cotto_work drupal.org/sandbox/cotto/1112706 02:11
plobsing zomg. is it that time of year already? I'm not prepared.
cotto_work you can officially stop believing anything you hear between now and Saturday. 02:12
including this
plobsing wait, I thought you were left-coast. 02:13
cotto_work yes
margin of error
plobsing ah
cotto_work I ran into the first article earlier today. 02:15
02:16 kid51 left 02:30 hudnix left
cotto ~~ 02:48
atrodo, poing 02:53
atrodo cotto> pong
cotto atrodo, how's the writeup of the delta between your lorito prototype and the m0 spec coming? 02:54
atrodo working on it now, should have it done here in a little while 02:55
cotto great. I'm ready for some hacking. 02:56
03:19 lateau left, bubaflub joined
bubaflub ping plobsing 03:21
03:24 Eduardow left
atrodo cotto> gist.github.com/896927 03:25
plobsing bubaflub: pong
cotto downloading to my brain now
bubaflub plobsing: instead of using t in my signature i'm using p for a return type 03:26
cotto atrodo, what you mean by special registers?
atrodo registers having special meaning
bubaflub plobsing: so i can do $P0 = $P1.'mpz_get_str'(...) 03:27
plobsing: but how do i get a string from $P0?
cotto like PC, EX, etc?
atrodo cotto> Yes
plobsing bubaflub: you will have to do more management with 'p' signautures
cotto atrodo, I didn't mention anything about symbols in the spec. I'll add that to my list of things to think about. 03:28
plobsing I've been dlfunc'ing Parrot_str_new. But it seems that it is common enough that it might be better to package it as a dynop.
bubaflub plobsing: what exactly am i getting back? a PtrObj?
plobsing bubaflub: ATM, an UnManagedStruct. In the future, a Ptr. 03:29
atrodo cotto> I think they're better than using string pmcs
plobsing you can use it as a pointer-ish pmc and pass it to NCIs that expect such in any case
atrodo at that low level, you're more concerned about lookups and string comparisons, not building strings
03:30 Eduardow joined
bubaflub plobsing: doh. now i've got a segmentation fault - definitely something wrong with my signature. how can i debug this? 03:31
cotto atrodo, I don't think M0 will know about object-strings.
it'll have C-like strings (or something similar)
maybe something like safestr 03:32
plobsing bubaflub: you can find the location of the segfault with gdb. that's always my first step, but I may be an addict.
atrodo oh, i always read the spec as being string objects
cotto I'll make a note to clarify that. 03:33
03:33 lateau joined
PerlJam atrodo: "alorito assumes GC exists in native code"? 03:33
atrodo: I think that's a major difference that goes unmentioned at the end.
atrodo PerlJam: It is, but it's not hard to change at this point, since there is no GC 03:34
PerlJam good point. :)
atrodo I like have the idea of a in-vm gc, but i think it's got to be done right if it's done at all 03:35
cotto atrodo, I'm not sure myself about the extra layers of indirection that'll come from the way the current spec does registers. 03:36
It's a valid concern. 03:37
atrodo cotto> a half bake thought i've had so far seems to think about being able to prefill registers from a const table, to save (in alorito) load_const ops
cotto btw, the tl;dr is great for giving me an idea of what to expect. Thanks for that.
atrodo no problem, i know how hard walls of text can be sometimes 03:38
cotto atrodo++
atrodo, I'm not sure about that. It seems magical.
atrodo that? 03:39
cotto prefilling registers
atrodo oh, my previous statement
any more magical than a variables table?
cotto I'd rather make it explicit. Let the code be smart.
atrodo The bytecode would tell the VM what to prefill where 03:40
I would imagine
cotto I'm just saying that that should be explicit. It'll be mostly generated anyway.
(m0 bytecode, that is) 03:41
What's the motivation for prefilling registers? 03:42
I see registers as where the important runtimey bits life and the variables table as where mostly-constant bits and less important runtimey bits live. 03:43
atrodo Keep some of the benefits of the variables table while removing the extra indirection 03:44
Right, but as I've read it now, the variables table seem like another register area that important things happen at 03:45
I'm just thinking out load, I don't have a solid thought 03:46
cotto wfm
atrodo I'm not a fan of the variables table and the indirection and complexity it brings, but it does bring some value to the table 03:47
cotto pun
bubaflub dukeleto: NAILED IT: gist.github.com/889513 - just kidding, it doesn't work at all.
cotto I don't see bytecode segments (which I expect to map somewhat onto subs) frequently needing more than 62 (or even 20) registers of a given type. I see the variables table as being mostly for backup. 03:48
bubaflub plobsing: if you care to see what i'm working with, gist.github.com/889513 03:49
plobsing: doesn't work
cotto If variables are frequently used, they may be worth optimizing further. 03:51
regarding alorito's "call", I picked "goto_cs" rather than "call" to emphasize that nothing more than control flow transfer is being done. The rest needs to be set up manually. 03:52
plobsing bubaflub: do you know where the error is? 03:55
do you have a backtrace (either C or PIR, but preferably PIR to start)? 03:56
bubaflub don't know where the error is - i'm using only three functions
first to init (which should set it to zero), second to set the number to 42, third to get the number back 03:57
and i'm only getting zero
ah, i got it 03:58
updated the gist - simple error, but now it works 03:59
enough for tonight; i'm pretty satisfied
plobsing run gdb on your program. to get a C backtrace, type "bt\\n". to get a PIR backtrace, type "p PDB_Backtrace(interp)" (this may require you to walk up the stack to afunction that has an interp)
cotto atrodo, you still around? 04:00
atrodo cotto> I am
cotto ok
bubaflub msg dukeleto double just kidding - it works now. updated the gist. 04:01
aloha OK. I'll deliver the message.
04:05 bubaflub left
atrodo falls asleep 04:28
cotto atrodo, 'night
04:35 ShaneC left 04:47 ShaneC joined 05:17 lateau left 05:26 lateau joined 05:54 cosimo left 06:05 AzureStone left 06:08 AzureStone joined 06:09 AzureStone left 06:12 AzureStone joined 06:24 fperrad joined
Tene ... I see no email from lucian, now that I'm actually home and have time available. I guess maybe he's doing that after lectures tomorrow? 06:42
06:53 prank left
dalek rrot/m0-spec: 695855c | cotto++ | / (2 files):
remove example m0 file and assembler
07:18
dukeleto ~~
rrot/m0-spec: 4e5cac6 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
put example m0 in the pdd
dukeleto aloha coverage? 07:19
aloha dukeleto: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/
dukeleto botsnack
cotto hio dukeleto 07:21
time for sleep 07:25
dalek rrot/leto/embed_grant: ea6d76a | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_get_string_keyed_int
07:26
dukeleto cotto: howdy
msg bubabflub nice work! i see the beginning of a GMP binding there 07:27
aloha OK. I'll deliver the message.
cotto that reminds me of Pulp Fiction 07:28
dukeleto cotto: is a foot rub involved? 07:37
dalek rrot/leto/embed_grant: 7f4241d | dukeleto++ | t/src/extend_vtable.t:
Add commented out, core-dumperific test for Parrot_PMC_get_string_keyed_str
07:38
rrot/leto/embed_grant: 9b98093 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_(set|get)_integer_keyed
rrot/leto/embed_grant: 50ea356 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_(set|get)_integer_keyed_int
07:45
rrot/leto/embed_grant: f5d50d5 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_(set|get)_number_keyed
rrot/leto/embed_grant: 5d51a8e | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_(set|get)_number_keyed_int
rrot/leto/embed_grant: 220c5d3 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_set_pmc
07:51
rrot/leto/embed_grant: 44e8a9a | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_set_pmc_keyed
rrot/leto/embed_grant: 13ea07b | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_set_pmc_keyed_int
07:57 contingencyplan left
dalek rrot/leto/embed_grant: 91aa651 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_set_pointer
08:05
rrot/leto/embed_grant: da19fc2 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_share(_ro)
08:07
dukeleto Exception is: type 33 severity 2 message 'ResizablePMCArray: Can't resize!' 08:12
dukeleto gets a merit badge 08:13
moritz suggests renaming it to NotAlwaysResizablePMCArray
dukeleto evidently, that is the LTA error message for attempting to resize to a negative integer 08:14
perhaps we should hack on an OccasionallyResizableArray 08:16
dalek rrot/leto/embed_grant: da02ac0 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_splice
08:17
rrot/leto/embed_grant: 93ad5af | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_find_method
08:24
rrot/leto/embed_grant: 8c7a2d3 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_exists_keyed(_int)
08:28
rrot/leto/embed_grant: c298f48 | dukeleto++ | / (478 files):
Merge branch 'master' into leto/embed_grant
08:31
Heuristic branch merge: pushed 16 commits to parrot by leto 08:32
09:20 Khisanth left, Khisanth joined 09:31 bacek joined 09:35 lateau left 09:40 mtk left 09:42 ShaneC left 09:47 mtk joined 10:12 zby_home joined 10:15 cgaertner joined
cgaertner hello #parrot 10:15
10:25 M_o_C joined
moritz is there a way to add a catch-all method to a class? 10:27
ie one that is called if somebody tries to call a non-existing method
bacek ~~ 10:49
moritz, override VTABLE .find_method?
cgaertner is there a vtable function on the interpreter PMC exposed by the embedding API I can use for testing? 10:58
I auto-generated GOBject wrappers for PMCs, but the interpreter currently is the only one I can get access to...
^ for PMC vtable functions, that is
now, I need to check if it actually works... 10:59
bacek cgaertner, all (?) vtables are exposed as Parrot_PMC_foo for embedders 11:00
cgaertner, check include/extend.h 11:01
cgaertner bacek: I already auto-generated my own wrappers from vtable.tbl - I just need one available on the interpreter PMC which does something useful for testing... 11:03
11:10 rohit_nsit08 joined
rohit_nsit08 hello #parrot 11:11
cgaertner first test ow GObject wrapper for libparrot: github.com/cgaertner/gparrot/blob/...nterp-01.c 11:36
can't do anything useful yet, though ;)
got to go, might be back later today, for sure tomorrow... 11:38
11:38 cgaertner left 11:44 jsut joined 11:49 jsut_ left 11:55 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner 12:24 M_o_C left 12:30 bubaflub joined
dalek sella/gh-pages: f628e03 | Whiteknight++ | / (2 files):
a few CSS changes. I'm an artist, and my whims become reality
12:35
sella/gh-pages: 5e276e8 | Whiteknight++ | libraries/test.md:
update documentation about test.md
sella/gh-pages: 18e8db3 | Whiteknight++ | libraries/test.md:
flesh out the test documentation a bit more. Include new information about TestStatus
sella/gh-pages: 9b1af25 | Whiteknight++ | libraries/ (4 files):
start fleshing out more documentation
sella/gh-pages: ed2995c | Whiteknight++ | libraries/ (3 files):
expand some more documentation. Add examples for proxy
12:36 whiteknight joined
sella/gh-pages: 0f6223f | Whiteknight++ | stylesheets/rosella.css:
use some colors actually pulled from the logo image for the background and borders
sella/gh-pages: e187cc3 | Whiteknight++ | libraries/future.md:
Add in a new future page, which describes some of the libraries which are in planning or development
sella/gh-pages: c927cd9 | Whiteknight++ | / (3 files):
Remove information about development libraries from the index page. Add information there about project goals and dependencies. Remove the list of development libraries from the page header.
sella: b8b9607 | Whiteknight++ | / (21 files):
Break important bits of TestContext out into TestStatus. TestContext can be used to hold data and helper methods. TestStatus is the important details which are used internally by the test suite, and which control the way the test runs and reports its status
sella: e81c44c | Whiteknight++ | / (2 files):
Add in missing files
sella: 3156f57 | Whiteknight++ | / (8 files):
flesh out several tests for action library. Move ContainerResolver test file (mostly stubbish) to the t/container folder
sella: 35abe94 | Whiteknight++ | t/action/Argument.t:
fix broken tests for Argument
whiteknight good morning, #parrot
rohit_nsit08 whiteknight: hi, good morning 12:37
tadzik good morning whiteknight
whiteknight good morning rohit_nsit08, tadzik 12:38
how are you fine gentlemen doing today?
tadzik not bad
what about you?
rohit_nsit08 whiteknight: studied winxed stage1, what is vtable in it? 12:39
whiteknight: compiled the stage 1 to see it's generated PIR code
whiteknight: some experiments on rhino on commandline 12:40
whiteknight rohit_nsit08: "vtable" is the low-level dispatch table for PMCs
they are like methods, but lower
rohit_nsit08: vtables are the standard interface for objects 12:41
we can use vtables to define the most basic behaviors of a PMC 12:42
rohit_nsit08 whiteknight: do i need to know ECMAScript specification also? 12:43
whiteknight rohit_nsit08: it would be good to know it, yes. The cafe compiler should already be correct, but it might not be 12:44
the specification will help you decide what code to generate, to be correct
rohit_nsit08 whiteknight: ya, that's why. I read a little yesterday but it was so long, i thought it will be better to ask 12:45
whiteknight rohit_nsit08: You don't need to read it all and memorize it. Keep it as a reference to help answer questions 12:46
rohit_nsit08 whiteknight: which portion of code shall i focus most in winxed stg1. i'm now familiar with it's basic design. Token class etc
whiteknight rohit_nsit08: I think the Emit classes are the code generators 12:47
rohit_nsit08 whiteknight: okay, i'll study them. I checked rhino today. it has a print(EXPR) command to print an evaluated expression or string, this function is being implemented by some class. 12:49
whiteknight that's probably where you want to start lookin
rohit_nsit08 whiteknight: winxed is using say() for the same
12:50 bluescreen joined
dalek sella/gh-pages: c09143c | Whiteknight++ | _layouts/rosella.html:
+some nav links
12:51
rohit_nsit08 whiteknight: i was in doubt about how javascript will do that, since there is no print in the language specification,
bubaflub morning whiteknight
whiteknight rohit_nsit08: You may need to add your own library of functions. There is also common.js which adds a library with IO 12:52
good morning bubaflub
bubaflub whiteknight: don't know if you saw it, but i got basic GMP bindings to work through NCI: gist.github.com/889513 12:53
rohit_nsit08 whiteknight: whiteknight: ohh, i have seen common.js , okay got it
bubaflub whiteknight: i'm also looking at doing the project in Winxed with Rosella rather than PIR and Test::More 12:54
whiteknight rohit_nsit08: common.js is a good standard. However, you might need to write a lot of it yourself to work on Parrot
rohit_nsit08: you may want to follow common.js as a guide, but only put in some important parts like IO
bubaflub: let me look
bubaflub: I think that's a good choice :) I'm biased 12:55
bubaflub: important thing is picking something you are comfortable with, and something that you can use effectively
bubaflub whiteknight: i'm familiar with javascript and c syntax and if it's cleaner, it's definitely worth it to learn winxed. i'm checking out the rosella docs now
whiteknight bubaflub: I just uploaded a new batch of website docs this morning 12:56
whiteknight.github.com/Rosella
rohit_nsit08 whiteknight: hmm.. IO will be a good facility, will do some study on how to go with it
bubaflub whiteknight: Did you?!?! i don't trust anything on 4/1
whiteknight bubaflub: ah, good point.
bubaflub whiteknight: just kidding. i saw the dalek commits fly by
whiteknight: though you could be nefarious than i imagine...
whiteknight bubaflub: If you go to that link and see Rick Astley, I apologize 12:57
bubaflub whiteknight: at my last job in my going away email i rick rolled my team
whiteknight :) 12:58
bubaflub just a regular message and then after my email signature a link to a youtube with no explanation 12:59
everyone wondered, what's this? so they clicked it.
13:02 JimmyZ joined 13:07 hudnix joined 13:11 M_o_C joined
dalek sella/gh-pages: 0b75116 | Whiteknight++ | _layouts/rosella.html:
add in the missing newline. This is why we test *before* we push
13:11
bubaflub whiteknight: so Rosella is a collection of sane defaults and patterns to use? 13:12
whiteknight bubaflub: basically, yes
the test-related stuff is the most practical, but all of it has usefulness
well, i hope it's useful
bubaflub whiteknight: yeah, it does look useful. i understand the test stuff the best though mock and proxy have uses outside of that 13:18
whiteknight mocks are almost exclusively for testing, but the proxy library has many potential uses 13:25
I keep imagining a proxy wrapper over a SOAP library, so we can transparently make method calls to objects located across a network 13:26
13:28 plobsing left 13:36 JimmyZ left 14:05 ambs joined 14:25 lucian joined 14:29 davidfetter joined 14:33 M_o_C left 14:42 plobsing joined, rohit__nsit08 joined
dalek sella/gh-pages: 360c22b | Whiteknight++ | / (6 files):
add in some new articles and stubs for testing-related stuff. Add in some external links for other places (my blog) which talks about Rosella
14:45
sella/gh-pages: 1dd1d75 | Whiteknight++ | articles/ (4 files):
fix page titles. copy+paste is bad
sella/gh-pages: 5f6603f | Whiteknight++ | articles/index.md:
formatting the articles index
14:54 bluescreen left, bluescreen joined 14:59 hercynium joined 15:02 rohit__nsit08 left 15:03 rohit_nsit08 left 15:30 M_o_C joined
whiteknight msg cotto matt.might.net/articles/cps-conversion/ 15:39
aloha OK. I'll deliver the message.
whiteknight actually, this whole website is a wellspring of great information 15:44
there's plenty of good information in here about exceptions, which I suspect will be instrumental in our eventual refactor of that system.
derivative parsing, CPS, compilers, and a few other fun topics 15:51
dukeleto ~~ 15:54
whiteknight: yes, matt might has some great writing
whiteknight I'm very entertained by some of his CPS articles right now 15:56
16:05 cgaertner joined
cgaertner hello #parrot 16:05
dukeleto cgaertner: howdy 16:07
cotto_work ~~ 16:09
whiteknight: nice find 16:11
sorear welcome 16:15
whiteknight cotto_work: I've been on this website for a while reading articles, clicking links, and continuing reading 16:21
Added several new books to my amazon wishlist in the process
16:21 contingencyplan joined 16:25 cogno joined
cotto_work I've all but given up on buying dead-tree books. The time between when I care and when I get distracted by some other shiny thing is much shorter than the time it takes to ship a book. 16:25
ebooks are really nice that way
16:26 M_o_C left
whiteknight I love dead-tree books. I don't read ebooks at all 16:27
the rest of the world seems to be moving away from that position 16:28
cgaertner first test for Parrot-in-GObject: github.com/cgaertner/gparrot/blob/...nterp-01.c 16:29
16:29 darbelo joined, darbelo left, darbelo joined
whiteknight cgaertner: that's a nice start 16:36
cgaertner I also found out that MSYS won't cut it as development environment 16:37
I got vala's introspection tool to compile after some hachs, but it'll fail at runtime 16:38
so, there's no way around setting up a vm
whiteknight we do our best to stay portable, but windows does create some unique and unnecessary challenges
16:40 dodathome joined
cgaertner what bothers me is that in many cases, the code is nearly portable, but not quite 16:44
in case of vala and the gobject introspection tools, it's because of using glib
whiteknight yeah
cgaertner in case of Perl, because it already comes with its own *nix abstraction layer for the windows build 16:45
the build system just can't deal with MSYS
someone obviously patched it in the past for the Perl 5.6.5 that comes with MSYS, but no one seems to have bothered since then... 16:46
whiteknight have you tried a heavier solution like cygwin?
I know Parrot has had some problems on cygwin in the past, but with effort I don't think any of them are insurmountable 16:47
cgaertner I switched to MSYS because I had subtle problems with cygwin ;)
whiteknight okay, so you've already been down that dirt road
cgaertner I basically created my own cygwin by compiling libs for MSYS from source
however some things are just not available for MSYS
though if you could abstract perl's win32-layer, you'd probably be 3/4 to cywgin 16:48
setting up a vm once just seems the most time-efficient solution 16:49
16:49 cogno left
whiteknight yeah, I use a lot of VMs 16:49
at home, I use a VM to run windows for iTunes
sorear does Parrot have any goals like "run on Windows self-contained"? 16:52
Parrot definitely tries to be less Unix-centric than Perl5
(for instance, we've rejected requests for a core POSIX binding)
dukeleto sorear: i think Parrot Foundation is going to impose that Parrot is solely developed for WinCE in the future 16:56
NotFound sorear: having goals is good, having people working is better. We don't have much people working on windows. 16:57
PerlJam dukeleto: you're supposed to write a nice semi-plausible blog post, not randomly blurt it out on #parrot :)
dukeleto oops. #parrot is now under a sheisty NDA written on the back of a napkin that I threw out last week 16:58
dukeleto calls the lawyers
plobsing dukeleto: if we're going in that direction, we should probably also optimize parrot.org for IE6 (and put up notices indicating this). 16:59
17:00 M_o_C joined
dukeleto plobsing: why not go the extra mile? IE4 was really all anybody needs. 17:03
sorear: please note your calendar if you are confused
whiteknight IE6 is optimized enough 17:16
in seriousness, the problem with compatibility on windows is a matter of not having enough developers on that platform 17:17
I'm actually going to pull and run tests on my windows machine right now 17:19
another huge problem is that git is heinous on windows
by design, it seems
mikehh t/src/extend_vtable.t failed all tests 17:22
g++ failure 17:24
whiteknight g-- 17:28
dukeleto mikehh: darn. 17:29
mikehh: they all passed on my machine. I promise.
whiteknight dukeleto: I think we need to all chip in and buy you a copy of g++ to test with :)
dukeleto whiteknight: how much does it cost these days? 17:30
karma g
aloha g has karma of 348.
whiteknight blha
blah
dukeleto karma f
aloha f has karma of 0.
whiteknight karma c
aloha c has karma of 361.
dukeleto g sure is a lucky letter in karma-land
whiteknight we should put in a filter to aloha to not recognize g++ and c++ for karma 17:31
cgaertner whiteknight: what's the problem with git on windows? 17:32
4msysgit compiles cleanly, and I didn't encounter any problems so far...
whiteknight cgaertner: it's not a very good port. You can't just use git, you need to use msysgit with a whole bunch of ports of various libraries
cgaertner: any commandline program that has to ship with it's own command-line is suspicious 17:33
17:33 rohit_nsit08 joined
plobsing any OS that doesn't ship a decent command-line is equally suspicious 17:33
17:33 ShaneC joined
whiteknight yes, that's true 17:34
17:34 Eduardow left
NotFound I'm tempted to write an announcement of Winxed 3D but it's too much work for such a bad joke. 17:37
sorear whiteknight: um, you know half of git is shell scripts? 17:38
plobsing NotFound: riding the coat-tails of xkcd? winxkcd?
NotFound plobsing: aye
cgaertner got to go again, but will probably lurk here most of tomorrow (and also finally write that proposal ;)) 17:42
17:42 cgaertner left
Coke doesn't think parrot ever needs another AFD joke, ever. 17:44
17:44 Eduardow joined
whiteknight sorear: hence my point that git is not portable by design 17:54
lucian whiteknight: it's very portable, to posix 17:55
dukeleto git was written to be fast, not portable
lucian it's like saying firefox isn't portable because it doesn't run on my toaster
dukeleto people are attempting to make it portable now, with the appropriate amount of hilarity and tears
lucian dukeleto: meh, hg is just as fast and more portable
whiteknight lucian: That metaphore might work, if 90% of the world browsed the web using their toasters
dukeleto lucian: your opinion is greatly valued
whiteknight windows is not exactly some obscure programming platform 17:56
lucian dukeleto: heh
whiteknight: toasters aren't obscure or rare either
whiteknight lucian: as platforms for web browsing they are
just as many people develop software on and for windows as the alternative
maybe more
17:56 frodwith left 17:57 frodwith joined
lucian whiteknight: that doesn't excuse the platform, really 17:57
NotFound I like toasters. Simple and intuitive design that remains useful for decades.
whiteknight I'm not saying it does. I'm not talking about the platform though. Git was designed either without the intention of moving it to windows, or with the intention to actually prevent that
and if you're going to have a piece of software that doesn't run on the most common desktop OS, you can't claim a prize of portability 17:58
atrodo Now I'm hungry for some toast and jam
whiteknight atrodo: srsly
lucian goes to have a hair cut
bubaflub i'm looking forward to the work on libgit2 being completed 17:59
that should solve some of the mess
and i've thought about maybe we need perl bindings for that
whiteknight yes, libgit2 is a very welcome addition
bubaflub: we definitely need Parrot bindings for it 18:00
bubaflub whiteknight: well, i may learn a thing or two about bindings in the summer... opens up a world of fun for me
whiteknight: but i'm also thinking Perl 5 bindings on CPAN would be useful. whatever happend to the Perl5 - CTypes thing?
dukeleto bubaflub: yes! and we expect blog posts. One per week, or the tommyknockers will be deployed. 18:01
bubaflub dukeleto: or the dogs the shoot bees out of their mouths when they bark
NotFound One problem is that a lot of windows-only users are unreasonable. For example, I have a Basic interpreter declared and documented as line-oriented 80-style, and still people asks it it doesn't have a GUI.
cotto_work NotFound: the problem is that you're dealing with humans. 18:03
NotFound In fact, several even doesn't know that windows has a CLI. And some of them finally says "Oh, you mean the ms-dos window"
whiteknight :) 18:04
mikehh dukeleto: the test passes with an gcc --optimize build but I get t/src/extend_vtable.t - Failed test: 3 (segfaullt) gcc without --optimize) 18:05
NotFound cotto_work: I've always suspected that I'm a mutant, since I read my first x-men history. 18:06
mikehh dukeleto: I gett the following result with g++ (continuingfor all tests 1 thru 89): 18:10
# Failed to build 't/src/extend_vtable_1.o': t/src/extend_vtable.t: In function ā€˜void dotest(parrot_interp_t*, void*)’:
# t/src/extend_vtable.t:113:36: error: ā€˜Parrot_hash_new’ was not declared in this scope
# t/src/extend_vtable.t:117:50: error: ā€˜Parrot_key_new_integer’ was not declared in this scope
# t/src/extend_vtable.t:118:55: error: ā€˜Parrot_key_new_cstring’ was not declared in this scope
dukeleto mikehh: please open a TT with the full test output of extend_vtable.t . That will help me fix it, if someone doesn't beat me to it. 18:15
mikehh dukeleto: there are additional errors with test 5, 10, 15 and 16, the full output is rather long, but I'll give it a go 18:18
Tene I'm very hopeful about being able to work on Parrot this weekend. Wish me luck. 18:21
mikehh Tene: good luck 18:23
Tene lucian: are you planning on sending me email today? 18:24
whiteknight Tene <-- Luck! 18:29
Tene whiteknight: thanks for the matt might link; looks fascinating 18:31
Perhaps I'll spend the weekend reading that instead of working on cardinal 6model. ;)
whiteknight NOOOO!!!! 18:33
:)
dalek nxed: r917 | NotFound++ | trunk/winxedst1.winxed:
use a specific class for try modifiers
18:42
lucian Tene: heh. perhaps. patience, grasshopper 18:43
lucian has slept 12h+ last night
Tene lucian: 'k :)
lucian i probably had quite a bit to make up for
Tene: you at work?
Tene yeah; afk now 18:44
dalek Heuristic branch merge: pushed 17 commits to parrot/m0-spec by cotto 18:45
sella: aac3e47 | Whiteknight++ | src/memoize/ (2 files):
Add in some stub files for a new memoization library.
18:48
sella: a036d9f | Whiteknight++ | s (3 files):
break Path into it's own library. It's sufficiently different from query that I shouldn't be lumping them
sella: 792fa09 | Whiteknight++ | src/memoize/Memoize.winxed:
Add in a Y-combinator variant with built-in memoization. Inspired by similar code at matt.might.net
18:49 bacek left
tadzik lucian: you don't happen to read Usagi Yojimbo, do you? 18:51
lucian tadzik: greek to me
tadzik I guess "grasshoper" in this context i far more wide
lucian tadzik: i don't really know the origin of the phrase 18:52
oh, from here en.wikipedia.org/wiki/Kung_Fu_(TV_series). lame 18:53
i'll stop saying that
tadzik :) 18:54
bubaflub whiteknight: i was just reading about the y-combinator 18:59
whiteknight it's fun, isn't it?
bubaflub going to ahve to read it multiple times 19:01
i've done a bit of haskell and functional, but not really anything this deep
19:02 hercynium left
lucian doesn't really understand the Y combinator 19:03
whiteknight I don't have the link, but I read a great blog post about the derivation of the Y combinator in Perl that really was well-written 19:04
that's what made it really click for me
bubaflub whiteknight: Y U NO HAVE LINK?
whiteknight: just kidding, time to bust out my google-fu
lucian rosettacode.org/wiki/Y_combinator 19:05
whiteknight :) it was a long time ago.
bubaflub whiteknight: perhaps this one: use.perl.org/~Aristotle/journal/30896?
lucian bleh, the python example is disgusting
whiteknight bubaflub: yes, that's the one 19:08
Way back when I was a gsoc student, I was doing my weekly blogging on use.perl
19:39 M_o_C left 19:41 frodwith left, frodwith joined
lucian just sent a mammoth email 19:44
dalek TT #2084 created by mikehh++: t/src/extend_vtable.t fails all tests with g++ build
TT #2084: trac.parrot.org/parrot/ticket/2084
19:45 frodwith left, frodwith joined
atrodo cotto_work> ping 19:47
19:54 frodwith left 19:56 frodwith joined 19:58 frodwith left
whiteknight lucian++ for the email 20:00
I certainly can't answer it myself, but I suspect you will see some good answers either way 20:01
20:01 frodwith joined 20:04 mtk left 20:05 frodwith left, frodwith joined
cotto_work atrodo: pong 20:06
atrodo cotto_work> I was curious why you deleted your work on the m0-asm
20:06 frodwith left
cotto_work atrodo: it's a combo of my newbieness with nqp and nqp's speed 20:07
atrodo oh, wasn't working?
20:07 rohit_nsit08 left
cotto_work slow enough that it was a barrier to me caring to work on it 20:07
atrodo wow, that slow? 20:08
20:08 frodwith joined
cotto_work ~3 seconds to process a tiny file 20:08
atrodo wow!
cotto_work a large part was me being crabby and not wanting to deal with nqp 20:10
20:11 mtk joined 20:15 perlite_ joined 20:18 perlite left, perlite_ is now known as perlite 20:20 frodwith left, frodwith joined
lucian whiteknight: hopefully 20:21
20:22 frodwith left, frodwith joined 20:23 dmalcolm joined 20:26 Eduardow left 20:31 whiteknight left, fperrad left 20:33 frodwith left 20:34 frodwith joined, frodwith left, frodwith joined 20:35 dodathome left 20:36 bacek joined 20:42 frodwith left, frodwith joined 20:43 frodwith left, frodwith joined 20:46 frodwith left, frodwith joined
dalek tracwiki: v14 | bbatha++ | ParrotGSoC2011Students 20:47
tracwiki: trac.parrot.org/parrot/wiki/ParrotG...ction=diff
tracwiki: v15 | bbatha++ | ParrotGSoC2011Students
tracwiki: trac.parrot.org/parrot/wiki/ParrotG...ction=diff
20:50 frodwith left, frodwith joined 20:52 frodwith left, frodwith joined 20:53 frodwith left, frodwith joined 20:56 frodwith left, frodwith joined 20:57 frodwith left, frodwith joined 20:59 frodwith left, frodwith joined 21:02 frodwith left, frodwith joined 21:04 frodwith left, frodwith joined 21:06 frodwith left, frodwith joined 21:15 frodwith left 21:16 frodwith joined 21:17 bluescreen left 21:18 frodwith left, frodwith joined 21:28 mikehh left 21:32 ambs left 21:44 bacek left 21:53 Eduardow2 joined 21:58 bacek joined 22:02 whiteknight joined
whiteknight good afternoon, #parrot 22:09
bubaflub good afternoon whiteknight
whiteknight hello bubaflub 22:10
cotto_work hi whiteknight 22:22
Tene lucian: is there something special about attrs named __foo__? could I override __dict__ on an object? 22:24
lucian Tene: nothing special about __foo__ in general, no. not sure if you can override __dict__ though, it may be a special case
Tene lucian: does the value in __dict__ contain itself in ['__dict__'] ? 22:25
lucian Tene: no 22:26
whiteknight www.ovni-alerte.com/blog/flash/scal...iverse.swf
*boggle*
Tene lucian: so... that's *not* the whole story for attributes then, no?
lucian Tene: no, i did say it's slightly wrong
Tene Oh, okay. 22:27
lucian i think mostly for implementation's sake, __dict__ is special
but not very special 22:28
it's a 'dictproxy' really, a proxy to the C-side dict
Tene oh, __dict__ only contains "user-provided attributes"
lucian Tene: yeah 22:29
sort of
Tene oh, no, this guy is making up terms.
www.cafepy.com/article/python_attri...namic-dict
lucian Tene: also, i completely ignored properties
22:29 soh_cah_toa joined
lucian Tene: his explanation is mostly ok 22:30
Tene: more precisely, __dict__ is that object's own attributes, discounting parents and so on (not entirely sure if there are any exceptions to this)
Tene ahh 22:31
argh, afk, meeting
anyway, yes, I think 6model could be very nice here.
but... afk
lucian Tene: sure, ttul
whiteknight: awesome, isn't it? 22:33
whiteknight lucian: mind-boggling
lucian they should show that in schools
whiteknight and to see everything included there, on a single scrollbar
it's crazy
lucian first science/physics class
whiteknight I agree. My kid should see this.
lucian well, the scrollbar is logarithmic, isn't it?
actually even worse 22:34
22:45 Eduardow2 left 22:58 pjcj left 23:00 ShaneC left
soh_cah_toa am i able to further revise my proposal when i submit it through google-melange or is it final? 23:03
23:04 bubaflub left 23:06 kid51 joined, pjcj joined
lucian soh_cah_toa: can revise 23:07
has an editor, also comments 23:08
23:08 pjcj left
whiteknight soh_cah_toa: yeah, you can edit it 23:08
soh_cah_toa okay, should i use google-melange then or gist?
23:09 Eduardow joined, pjcj joined
lucian soh_cah_toa: melange is safer, no risk of forgetting to submit :) 23:10
soh_cah_toa lucian: yeah, good idea
lucian also, final proposal will look better
but that's just candy
soh_cah_toa yeah 23:11
23:16 dmalcolm left
cotto_work +1 to using melange 23:17
dalek TT #2083 closed by jkeenan++: Reintroduce --cxx flag in Configure.pl 23:23
TT #2083: trac.parrot.org/parrot/ticket/2083
23:25 ShaneC joined
soh_cah_toa question - which is easier: writing documentation during design before coding or aftering coding? 23:31
not necessarily easier. just a better idea, i mean 23:32
23:38 darbelo left
kid51 t/src/extend_vtable.t failing completely with all g++ build -- is that what others are seeing? 23:41
smolder probably needs restarting 23:42
bacek ~~ 23:48
<rant> why the heck getstd* in ops, but setstd* in dynops???</rant>
cotto_work bacek: whiskey tango foxtrot. That's not sane. 23:53
whiteknight bacek: they all should be dynops 23:55
or, they should be deleted
ParrotInterp has those as methods
bacek whiteknight, anyway. We should split this set of ops. 23:56