Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Deprecations as data, merge/cleanup, AutomatedHLLTesting, clean up false test failures | Schedule next weekend's Summit: doodle.com/4phzuaiahkgd3ie5
Set by moderator on 22 January 2011.
whiteknight good evening, #parrot 00:00
fbrito good evening :) 00:01
cotto_work: ping
cotto_work fbrito: pogn 00:02
cotto_work fails at ping pong
fbrito its a hard game
bacek_at_work cotto_work, few more tests :)
fbrito cotto_work: I am playing with the github post receive hook 00:03
right now trying to move the config variables to another file
cotto_work fbrito: great
fbrito but I am having problems with that :P 00:04
cotto_work fbrito: dukeleto said he'd add a Build.PL so that dependencies will be easier to deal with
00:05 ligne left
fbrito in my opinion the normal work-flow would be to clone the parrot-utils and then create a symbolic link in /var/www or whatever pointing to our perl script 00:06
cotto_work fbrito: I suspect that's sane.
fbrito that's how I did 00:07
cotto_work When you reach a natural pausing point, could you nopaste what the messages will look like? 00:08
fbrito my problem is: the config file was supposed to be in the same folder as the perl script, but that won't happen because of the symbolic link... is it ok to ask the user to type the absolute path to the config file? 00:09
dukeleto fbrito: yes, that is fine 00:10
cotto_work What about using something in /etc?
fbrito hm, I never know how the folder conventions work 00:11
/etc requires root privileges, no? maybe somewhere in /usr/local? 00:12
00:15 kurahaupo left 00:16 dduncan_ joined
cotto_work dukeleto: what's the standard place for such files? 00:17
00:18 kid51 joined
plobsing fbrito: you can readlink to get the original folder if you want the config to sit beside the script 00:18
00:19 dduncan_ left
cotto_work heads home 00:19
fbrito cotto_work: maybe I have to leave for a moment, but I will come back later 00:20
00:30 kid51 left 00:34 kurahaupo joined 00:38 kid51 joined
kid51 What is it about linkedin.com that causes my computer to freeze? 00:39
00:43 nwellnhof left 00:45 dmalcolm left 00:46 davidfetter joined
davidfetter hello 00:46
kid51 yo
davidfetter can someone point me to the parrot cla? i'm getting 404 from the link on wikipedia, e.g. 00:47
kid51 aloha, cla?
aloha kid51: cla is www.parrot.org/sites/www.parrot.org...ot_cla.pdf
davidfetter thanks! :)
kid51 Hmm, that link looks bad
davidfetter well, it's not the greatest, but it beats out 404 00:49
kid51 No, it's apparently correct
link to a pdf
00:50 Kristabou left
davidfetter aloha, foundation? 00:54
aloha davidfetter: Dunno.
davidfetter aloha, tpf?
aloha davidfetter: tpf is pretty perl-oriented, so proposals need to be strongly related to Perl 6. chromatic also had a grant for the profiling runcore, but that never went anywhere.
kid51 aloha, pafo?
aloha kid51: I have no idea.
kid51 aloha, pafo is parrot.org/foundation 00:55
aloha kid51: Okay.
kid51 aloha, Parrot Foundation is parrot.org/foundation 00:56
aloha kid51: ... but Parrot Foundation is getting back on track and the Software Freedom Law Center is helping us get there ...
kid51 aloha, forget Parrot Foundation
aloha kid51: I forgot about Parrot Foundation.
kid51 aloha, Parrot Foundation is parrot.org/foundation
aloha kid51: Okay.
kid51 aloha, foundation is parrot.org/foundation
aloha kid51: Okay.
kid51 aloha, Parrot Foundation?
aloha kid51: Parrot Foundation is parrot.org/foundation
kid51 nice bot
davidfetter kid51++ :)
say, you expressed some interest in postgresql, right? 00:57
kid51 But unlike purl, aloha has not yet been trained to say thank you when given a complement.
Well, only for the purpose of being able to understand what you and duke are up to.
davidfetter also unlike purl, aloha knows when to keep its #$#$%^@#% mouth shut :)
kid51 I went to a PostgreSQL meetup in nyc, but it was boring. 00:58
davidfetter i was re-checking the CLA because in order for the pg project to ship with a parrot dependency, we'd need a different license
kid51 which license?
davidfetter well, that's always hit or miss. when it's some eDB guy giving an eDB sales pitch, it's gonna bore the hackers
2-clause BSD or MIT would work
kid51 I don't pretend to understand licenses, but ... 00:59
davidfetter basically, something extremely permissive. pg's mandate is just that way
let's put it this way. we excised all the GPL-licensed code from our code base, even when the base product never uses it 01:00
kid51 ... could you send email to directors@lists.parrot.org about that?
We have a conference call with our lawyers scheduled for Feb 01 and could take it up then.
davidfetter oh, cool :) 01:01
will compose one tonight 01:02
plobsing davidfetter: doesn't pg ship with optional perl dependancy? they don't license Artistic too, SFAIK. 01:11
kid51 Make that: parrot-directors@lists.parrot.org
plobsing s/don't//
01:14 davidfetter_ joined
davidfetter_ wonders how his doppelganger got in here 01:15
01:26 Yuki`N joined
cotto hi Yuki`N 01:27
Yuki`N Hi.
whiteknight hello Yuki`N, how are you doing? 01:31
kid51 Yuki`N: Thanks for confirming that GDB pretty printing thing; it helped close the ticket
dukeleto: ping
Yuki`N kid51, no problem. 01:32
whiteknight, not bad. Yourself?
kid51 Yuki`N: If you live in the Eastern United States, I'd like to invite you to our upcoming East Coast Parrot Developers Gathering. 01:35
Yuki`N Unfortunately I'm not sure I can attend.
Travel arrangements for a 16y/o are hard to come by.
kid51 Aha!
Now, granted, we first have to find a time and place for this Gathering :-)
... but I'm hoping whiteknight will have some ideas on that ;-) 01:36
Yuki`N I doubt my parents will be too warm to the idea as well, haha.
davidfetter_ why would they have a problem with it?
whiteknight where does Yuki`N live?
davidfetter_ recalls travelling alone to foreign lands when he was 14
Yuki`N NJ. 01:37
Asian parents tend to be overprotective.
davidfetter_ what exit? 01:38
hey, i can't think of a more important thing for your education than one of these Gatherings
Yuki`N 20ish minutes from exit 8? I think.
Hah. 01:39
davidfetter_ let's put it this way. almost nobody can put "spoke at PDG" on their college application
...but you'll be able to :)
Yuki`N Perhaps.
Everything is up in the air.
kid51 davidfetter_: Those "foreign lands" you travelled to at age 14: Long Island? Brooklyn? the Shore? 01:40
Coke plobsing: FYI, there is already a ticket for requesting a way to limit the amount of memory parrot uses.
davidfetter_ israel, belgium, france, netherlands
kid51 Hmm, kid51 has only been to one of those places 01:41
davidfetter_ , contrary to appearances, is not actually from the east coast. he did spend the last year of high school in madison, ct, though
kid51 has driven past Exit 8 many times ...
whiteknight exit 8 on what road?
kid51 ... or, these days, gotten stuck in immense traffic jams going into Exit 8. 01:42
NJ Turnpike
The stretch between Exit 6 (Penna Tpk) and Exit 9 (New Brunswick) is brutal.
Try it one summer weekend, bro'.
whiteknight I have no idea where that is 01:43
kid51 But you live right near the Pa Turnpike!
whiteknight yeah, I dont go to jersey much
jersey is just that big blur betwen me and the beach 01:44
davidfetter_ it's the garden state. ever gotten jersey tomatoes? 01:45
01:52 davidfetter__ joined 01:55 davidfetter_ left 01:59 kurahaupo left 02:07 whiteknight left
dalek rrot/cached_eh: f1449d7 | bacek++ | t/op/push_cached_eh.t:
Add more tests.
02:17
rrot/cached_eh: 50fc603 | bacek++ | src/ops/ (2 files):
Don't reuse active ExceptionHandlers
rrot/cached_eh: 06de726 | bacek++ | compilers/pct/src/PAST/Compiler.pir:
Switch PAST::Compiler to use push_cached_eh op
bacek_at_work cotto_work, done :) 02:18
cotto so it would seem
02:22 NotFound_b left
cotto kid51, 02:23
02:27 davidfetter__ left 02:32 Kapace left
cotto atrodo, ping 02:53
02:57 Yuki`N left 02:58 kid51_ joined 03:02 kid51 left 03:11 kid51_ left 03:13 fbrito left 03:27 kurahaupo joined
atrodo cotto> pong 03:33
cotto atrodo, see aloha-o-gram 03:39
atrodo clever use of aloha
dukeleto ~~ 03:49
Coke aloha, aloha? 03:55
aloha Coke: aloha is simple Bot::BasicBot::Pluggable hosted on github.com/bacek/aloha
bacek_at_work cotto, meh. push_cached_eh is _slower_... Just because I can't reuse "active" ExceptionHandler. 04:07
cotto sigh 04:08
bacek_at_work I can try to "cache" active state of EH.
04:09 mtk left
plobsing what are the active parts of the exception handler? is it just the continuation? because we already have that in call chain (we could clone and jmp it) 04:12
bacek_at_work plobsing, "active" means that this EH is in use.
plobsing, and checking call chain is bloody slow. 04:13
plobsing slow for something exceptional? seems like a fair price to pay for average-case win.
cotto except when returning is exceptional 04:14
plobsing ah. break the usual assumptions on exception, you're asking for trouble.
bacek_at_work plobsing, for every push_cached_eh I have to check that EH isn't used. If it's used I have to clone it. 04:15
cotto yeah. I'm not entirely sure why nqp-rx does it that way.
cotto shops 04:16
04:16 mtk joined 04:27 cotto left
dalek rrot/cached_eh: ad8f0a8 | bacek++ | examples/benchmarks/exceptions.pir:
Add benchmark to show that push_cached_eh is _slow_ on deeply recure functions.
04:27
nxed: r745 | NotFound++ | trunk/winxedst1.winxed:
refactors and fixes in error checks and reports
04:31
04:58 fbrito joined 05:05 fbrito left 05:26 kurahaupo left
dalek nxed: r746 | NotFound++ | trunk/winxedst1.winxed:
refactor a bit namespace parsing
05:36
05:37 cotto joined 05:42 Patterner left 05:45 Psyche^ joined, Psyche^ is now known as Patterner 05:50 JimmyZ joined 05:52 fbrito joined 05:53 rurban_ joined, fbrito left 05:54 JimmyZ left 05:55 rurban left, rurban_ is now known as rurban 06:01 kurahaupo joined 06:16 kurahaupo left 06:18 kurahaupo joined 06:33 mberends left
dalek nxed: r747 | NotFound++ | trunk/examples/fly.winxed:
twist a bit the automatic mode view angle to add drama in example fly
06:51
07:08 kurahaupo left 07:09 kurahaupo joined 07:30 fperrad joined 07:31 cosimo left 07:32 cosimo joined 07:37 kurahaupo left 07:55 Eclesia joined 08:17 Kulag left, Kulag joined 08:29 bacek left 08:41 bacek joined
sECuRE_ yay, i can connect an IPv6 socket and properly send/receive date :) 08:50
data*
alright, merged and pushed: github.com/mstap/parrot/commit/98d...dd51279589 10:08
10:17 theory left 10:20 cognominal joined
sECuRE_ hm, i added #include "pmc/pmc_sockaddr.h" in src/platform/generic/socket.c and now my checkdepend.t fails. what shall i do to fix it? i already ran make realclean ; perl Configure.pl ; make 10:33
errormessage is: got '', expected: 'include/pmc/pmc_sockaddr.h(1)
ah, found the makefiles/root.in 10:43
dukeleto sECuRE_: sounds awesome! 10:54
sECuRE_ pull req comes in a second 10:55
just pushed a new version and running a final 'make test'
dukeleto sECuRE_: this is exciting! 10:57
sECuRE_ yay, passes ;) 10:58
pullreq sent
dukeleto looks 10:59
sECuRE_: i am running a test suite on my machine and taking a look at the diff 11:03
sECuRE_ yep
dukeleto sECuRE_: looks pretty nice 11:10
sECuRE_ :)
dukeleto sECuRE_: i am fixing some codingstd nits and then it will get merged 11:11
sECuRE_ great!
dukeleto blarg. maybe i will leave those nits for someone else...
sECuRE_: thank you very much for finishing this up 11:12
sECuRE_ no problem. once you merged it, i’ll check if my rakudo patch still works and poke the rakudo guys ;) 11:13
dalek rrot: 2f0daea | (Michael Stapelberg)++ | / (11 files):
Merge branch 'tt1798_ipv6', extend testcases

Conflicts:
  \tconfig/auto/ipv6/test.in
  \tinclude/parrot/io_unix.h
  \tsrc/io/socket_unix.c
  \tsrc/pmc/socket.pmc
rrot: 5365f8c | dukeleto++ | src/io/socket_api.c:
Remove debug statement
rrot: ff43647 | dukeleto++ | / (11 files):
Merge branch 'mstap-master'
sECuRE_ hooray \\o/
dukeleto sECuRE++ 11:14
Eclesia *clap clap clap*
ttbot Parrot ff436476 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1338.txt (tt.taptinder.org/buildstatus/pr-Parrot) 11:16
dukeleto :( 11:17
sECuRE_: we broke the windows build
sECuRE_: see the above ttbot URL for the error
sECuRE_ hmm 11:18
dukeleto cotto: ping
sECuRE_ here is appropriate documentation: msdn.microsoft.com/en-us/library/ms...s.85).aspx 11:19
seems like we are missing an include or something
the AI_PASSIVE flag is at least documented there
dukeleto sECuRE_: can you send another pull request with a fix? i don't have access to a windows box
sECuRE_ i don’t have any windows box either, sorry :\\ 11:20
dukeleto sECuRE_: no worries. Someone will come along soon and fix it
sECuRE_ ok. if there’s any questions, just highlight/query me and i’ll try to help ;)
dukeleto sECuRE_: ok, thanks for your contribution! 11:22
sECuRE_ you’re welcome :) i think we can close #1798 now, right?
11:24 perlite left, perlite joined
dukeleto sECuRE_: yeps 11:25
sECuRE_: go for it 11:26
self.sleep()
sECuRE_ i can’t. my only choices are 'leave as assigned' ;)
dukeleto sECuRE_: blarg! 11:27
dukeleto gets his Trac beating stick
sECuRE_: ok, ticket is closed 11:30
sECuRE_ alright
dukeleto sECuRE_: and i gave you some trac perms
sECuRE_ ok, thanks
dukeleto sECuRE_: so you can modify the wiki and fiddle with tickets if you need to :)
sECuRE_ hm, an email notification for tickets containing 'ipv6' would be great. but i guess trac can’t do that 11:31
dukeleto sECuRE_: we can make a tag for it
sECuRE_: and you better believe that i will assign you more trac tickets, when we find some bugs :)( 11:32
sECuRE_ heh, alright, that will work for me ;)
dukeleto really goes to sleep
sECuRE_ sleep tight
dalek TT #1798 closed by dukeleto++: IPv6 support for Parrot 11:35
TT #1798: trac.parrot.org/parrot/ticket/1798
Coke OOOH ttbot is back? mj41++ !! 11:40
12:37 fbrito joined, fbrito left 12:46 bluescreen joined 12:50 fbrito joined 12:52 fbrito left 13:13 plobsing left 13:19 kid51 joined 13:22 kid51 left 13:23 bluescreen left, bluescreen joined 13:42 plobsing joined 13:53 mtk left, rurban_ joined 13:55 rurban left, rurban_ is now known as rurban 13:59 mtk joined 14:00 whiteknight joined 14:01 fbrito joined 14:02 fbrito left
whiteknight good morning, #parrot 14:03
Eclesia hi 14:06
whiteknight hello Eclesia. How are you today?
Eclesia fine, working at home, that's why I'm connected today
Coke Eclesia: were you the one asking for a way to limit memory usage? 14:07
Eclesia oui, and weak/soft references
yes*
(mainly for cache systems, since I work in geography/imagery, we can explode memory very easely) 14:09
Coke trac.parrot.org/parrot/ticket/67
Eclesia thanks for creating the ticket :) 14:10
Coke I saw you coming 2 years ago!
plobsing parrot uses a lot of memory, but it is prescient. you may already know the answer by the time you run out of memory :) 14:11
that's a combination of keywords I thought I'd never see: "gc, newbie" 14:12
ping cotto_work 14:16
14:23 cognominal left
whiteknight yeah, that is certainly not a newbie ticket 14:23
14:25 cognominal joined 14:29 cognominal left
Eclesia while we are on tickets : here is little something that could help for debugging (thinking about displaying PAST/POST tree in the console) : special utf-8 caracteres can be used to obtain pastebin.com/7EktMCks . And colors are reconized by nearly all consoles if they are encoded using x3.64 14:31
14:31 cognominal joined
atrodo Well, that's pretty cool 14:32
Eclesia I have the code which display such outputs ... but in java :D 14:35
plobsing Eclesia: if you provide a patch with this improvement (including safe fallback for ancient systems), I'm almost sure it would be accepted. 14:48
Eclesia never coded in C, pretty hard to provide patches 14:49
plobsing pretty sure that's not in C 14:50
Eclesia pir ?
plobsing probably in PIR. possibly in NQP.
jnthn Should be writeable in NQP. 14:51
plobsing even better would be providing a library that abstracted this to allow for reuse.
14:52 wagle left, allison left 14:53 aloha left
plobsing wow. rakudo optimized is 52% faster to startup than non-optimized. I knew I was doing something stupid in my benchmarking last night. 14:53
14:53 bluescreen left 14:54 allison joined 14:55 bacek_at_work left, Infinoid left, Infinoid joined, bluescreen joined, wagle joined 14:56 bacek_at_work joined 14:57 bluescreen left 15:02 aloha joined 15:04 mtk left, mtk joined
dalek rrot/whiteknight/imcc_info_struct: 1a5614d | Whiteknight++ | / (3 files):
begun, the IMCC war has
15:09
rrot/whiteknight/imcc_info_struct: f260885 | Whiteknight++ | compilers/imcc/ (11 files):
firebomb. Quick and semi-automagical converstion of IMCC to use the imcc_info_t struct instead of PARROT_INTERP almost everwhere. Did not update cfg.c or optimizer.c. Also made a few small cleanups and some TODO notes where I saw obvious problems.
Coke getting build failures: 15:22
src/io/socket_api.c:304: error: invalid conversion from ā€˜void*’ to ā€˜addrinfo*
15:25 Psyche^ joined 15:28 Patterner left, Psyche^ is now known as Patterner 15:29 plobsing left
sECuRE_ Coke: try res = (struct addrinfo*)VTABLE_get_pointer(interp, address); instead 15:30
15:36 fperrad_ joined 15:37 plobsing joined 15:39 fperrad left, fperrad_ is now known as fperrad
whiteknight IMCC uses mem_gc_allocate for some allocations, mem_sys_allocate for others, and malloc/calloc occasionally for a few things 15:40
I think IMCC should probably provide either it's own memory management/allocation routines or at least be consistent about what it uses from Parrot 15:41
I don't feel like Parrot should be exporting the mem_gc_* or mem_sys_* functions in any case
plobsing it might help if the average parrot developer knew the difference. all I see is "TODO: write docu" 15:43
NotFound I think we need allocation functions that don't die on out of mem. 15:45
An attempt to resize an array, for example. should not kill the machine.
15:47 theory joined
whiteknight mem_gc_* throws an exception on failure. mem_sys_* is a thin wrapper and returns NULL on failure 15:47
When IMCC is safely wrapped in a PMC it will be able to handle exceptions. Right now, not so much 15:48
NotFound Throwing inside the functions makes harder to put good diagnostics.
whiteknight IMCC also interchangably uses IMCC_fatal, IMCC_fataly, and Parrot_ex_throw_from_c_args for exceptions, even though they do different things and jump to different places
some functions I've seen use all three on different errors, with no rhyme or reason 15:49
plobsing it might also help if mem_sys_ and mem_gc_ provided the same functionalities under the same names
NotFound whiteknight: anyway IMCC should catch any exception for consistency. Anything that it uses can throw.
plobsing whiteknight: fataly vs fatal was yacc-related or non-yacc-related IIRC. then we wanted tighter integration with parrot exceptions 15:50
whiteknight plobsing: right, but various functions in IMCC don't respect that difference
15:50 dmalcolm joined
whiteknight and in the end, the differences are completely removed. 15:51
NotFound Is hard to follow principles that aren't documented.
15:53 fperrad_ joined
plobsing its also easier to cargo-cult and get the immediate task resolved that to understand the overall objectives and keep thing clean. I've been guilty of this at times. 15:53
NotFound We all are 15:56
15:57 fperrad left, fperrad_ is now known as fperrad
PerlJam It's not like the code is red in sections that work but you shouldn't cargo-cult and green in sections that work and it's okay to cargo-cult. And even if it were, the boundaries between green/red are shifting all the time. 15:58
plobsing I'm just saying that it seems as though IMCC died a death of a thousand cuts at the hands of people who "just want to get this done". 15:59
16:00 preflex left 16:04 preflex joined
whiteknight if there's one thing that is consistent in IMCC, it's that the writers of it use an obscene amount of horizontal whitespace to line up '=' on various lines, frequently to the extreme detriment of readability 16:06
but, at least it's consistently detrimented
places where one instruction is broken up onto 5 lines because 40 spaces are inserted before an = 16:07
NotFound That's one of the reasons why I love C++ 16:09
whiteknight bad C++ programmers can do the same silly things
plobsing lining up =s is nice. until someone throws in a ton of consts.
whiteknight C++ is just C plus classes and ugly templates
NotFound With namespace you don't need such long-prefixed type names.
plobsing the worst is where something *used* to be lined up and now is either misaligned, or randomly spaced for no immediately obvious reason. 16:11
NotFound plobsing: yeah 16:12
whiteknight exactly
LOTS of that in IMCC
NotFound warning: implicit declaration of function ā€˜Parrot_io_remote_address’ 16:14
whiteknight I've never even heard of that function 16:17
plobsing sounds like the new ipv6 stuff
dalek rrot: 098750e | NotFound++ | src/platform/generic/socket.c:
update headerizing
16:19
plobsing anyone know of an existing pathological case for annotations lookup?
Coke is there an option to make gcc barf on implicit casting like that?
plobsing Coke: I'd like that very much. My platform breaks when pointer-returning functions are implicit (they get assumed to return 32-bit integers in stead of 64-bit pointers). 16:21
ttbot Parrot 098750e0 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1378.txt (tt.taptinder.org/buildstatus/pr-Parrot) 16:22
whiteknight reading through all this IMCC code, I can identify at least 3-4 individual authors who have done major work in it over the years 16:24
each has his/her own style, and made no attempt to use the styles of the people working on it previously
plobsing Coke: based on a brief glance at man gcc, it appears we want '-Werror=implicit-function-declaration'
whiteknight: I welcome feedback regarding the shortcommings of my style (I assume I am one of the 4). 16:25
whiteknight half the people writting imcc.y had their tabs set to 3 spaces, the rest 4 16:26
so some rules are indented 3, 6, 9. Others are indented 4, 8, 12
and then lots of horizontal whitespace added around = and { to try and line shit up
Eclesia never seen 3 spaces indentation 16:27
NotFound whiteknight: maybe is a hidden message from some extraterrestrial civilization.
whiteknight NotFound: "Our civilization is stupid"
NotFound (the one that invented the whitespace language)
plobsing Eclesia: prime-numbered-indentation is the only way!
Eclesia why that ? 16:28
plobsing because it is absurd
PerlJam did 3-space indents for *years*
cotto_work ~~
PerlJam It's only been in the last 10 years or so that I've settled on 4 space indentation 16:29
NotFound I'm going to write an editor that allows PI indentation.
plobsing my opinion: you can use any number of spaces you want for indentation, so long as all but four are unicode-zero-width-space characters :^) 16:31
16:31 whiteknight left
NotFound Eh, great idea, design whitespace++ with significant zero-witdh space. 16:32
plobsing NotFound: isn't Perl 6 whitespace-sensitive and doesn't it understand unicode? I think we've already got such a language. 16:33
NotFound Don't tell it to the perl-haters X-)
plobsing let the foot-shooting begin!
dalek rrot: 5635ef5 | NotFound++ | include/parrot/platform_interface.h:
add missing declarations
16:34
Coke plobsing: except -Werror=<anything> has never worked on any version of gcc we've tried. (sadly) 16:35
looks like this ipv6 stuff is a mess and shouldn't have been merged. 16:37
(assuming that's what's borking the non-gcc builds)
ttbot Parrot 5635ef52 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1394.txt (tt.taptinder.org/buildstatus/pr-Parrot)
16:37 JimmyZ joined
NotFound For a now is borking even gcc builds... g++, that is. 16:37
Coke I did say 'gcc' to the exclusion of g++. 16:38
JimmyZ hello, I just commit a message to parrot, but I hadn't push, how do I revert it?
Coke but yah.
I figured that out yesterday by googling for 'revert a local git commit' or something. momentito.
JimmyZ: is it the last commit? 16:39
JimmyZ yes
PerlJam JimmyZ: git reset --hard HEAD^ # should undo it.
Coke git reset --hard HEAD~1 # I think
Eclesia command is called 'strip' on mercurial. or 'rollback' for the last commit. maybe the same on git
Coke PerlJam: what does HEAD^ mean?
(same as HEAD~1, I assume) 16:40
PerlJam Coke: aye
Coke does HEAD^^ == HEAD~2 ? ;)
JimmyZ Coke, it lost my local modification
:(
PerlJam Yes. Though I think there's a difference if a commit has multiple parents. I just haven't pushed git enough for that yet
16:41 Eclesia left
PerlJam JimmyZ: sorry. We should have told you to "git stash" to save local mods. 16:41
plobsing cotto_work: do you recall the pathological case you found when working with annotations?
PerlJam JimmyZ: git reset --hard is a very sharp knife. 16:42
JimmyZ git revert last commit is very unfriendly :(
plobsing I have a working binary-search annotations implementation, but I'd like to make sure it is more efficient.
JimmyZ git--
cotto_work plobsing: I don't remember having found one. 16:43
PerlJam JimmyZ: "git revert <SHA1>" would have introduced a new commit to undo the effect of the commit
that would have been safer
JimmyZ yes, but I dont' want to do it.
plobsing cotto_work: your tasklist links to an irclog entry saying annotations are eating up 33% of somethings run time.
JimmyZ because i just lost my git config
PerlJam JimmyZ: well ... the silver lining is that you've learned something now :) 16:44
PerlJam adjusts his optimist hat
Coke composes a response to the IPv6 thread and gives up composing something that doesn't sound mad. will take too long. 16:45
you can get that commit back. 16:46
there's a local list of every commit you've ever made, even the reverted ones, IIRC.
JimmyZ: next time, do a reset --soft.
PerlJam Coke: but not his local changes.
Coke (it leaves your commit lying about.)
PerlJam Coke++
Coke oh, he had other uncommitted changess? aiiii, sorry. 16:47
JimmyZ that's very unfriendly :(, I just want to revert the commit and get my file back
plobsing commit early, commit often
cotto_work plobsing: sorry about being distracted. I'll remind myself what I was talking about in a few minutes.
plobsing cotto_work: no worries. I'm just eager to see some results. 16:49
dalek rrot: a29e645 | NotFound++ | src/ (2 files):
spread a few casts to make g++ happy again
16:50
ttbot Parrot a29e6451 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1410.txt (tt.taptinder.org/buildstatus/pr-Parrot) 16:53
16:54 whiteknight joined
dalek rrot: 102e7e2 | jimmy++ | / (4 files):
Merge branch 'master' of github.com:parrot/parrot
16:54
ttbot Parrot 102e7e27 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1430.txt (tt.taptinder.org/buildstatus/pr-Parrot) 16:58
17:00 JimmyZ left
cotto_work plobsing: to be honest I don't recall. It was either a simple nqp-rx test or one of the later stages in the build like building the rules or grammar. 17:01
plobsing hmmm... I guess I'll have to poke around.
cotto_work I'll profile the nqp-rx grammar build and see if I find something similar. It'll be a while. 17:02
Coke sees jimmy committed. 17:06
17:08 plobsing left, hudnix joined 17:09 hudnix left, hudnix joined
NotFound WTF is gai_strerror? 17:09
cotto_work lousy choice for a vacation home? 17:11
17:18 cotto_work2 joined 17:19 cotto_work left 17:20 cotto_work3 joined 17:24 cotto_work2 left
Coke NotFound++ fixing the build. 17:33
sECuRE_ NotFound: strerror for the return code of getaddrinfo() 17:34
17:48 cotto_work3 is now known as cotto_work
NotFound That changes are suppossed to work on systems without IPV6 support? 17:48
sECuRE_ yes 17:49
getaddrinfo etc. works just fine on systems without ipv6 17:50
17:55 Kristaba joined 18:01 plobsing joined
plobsing cotto_work: looks like the profiling and trace cores use annotations a lot. maybe you were profiling the profiler. 18:11
cotto_work yes 18:12
I just realized that.
Also, enabling annotations seems to break something.
plobsing enabling annotations? they're dissabled somewhere? 18:13
cotto_work When profiling, they'll only be written to the profile output if an environment variable is set. 18:15
docs/dev/profiling.pod
plobsing which explains why just running the profiling core shows only a nominal improvement 18:20
profiling perl6 hello-world with my binary-search annotations costs 1% run time over non-annotated. I assume the old profiler will fair significantly worse. 18:23
davidfetter plobsing, re: pg using perl to build, that's not quite the situation i have in mind. 18:24
plobsing davidfetter: what is the situation you envision (if you are at liberty to disclose)? 18:25
cotto_work plobsing: that should be the case.
davidfetter plobsing, of course. i'm picturing ripping out the current lexx/yacc infrastructure and replacing it with something modern. the idea of switching from one grammar to another in a controlled, well-thought-through fashion also has a good deal of possibility 18:26
plobsing davidfetter: you think they'd go for that? I recall reading about a DB engine (was it SQLite?) rolling their own parser. 18:28
cotto_work: not as large as I had expected - 20% total improvement. But that means annotations are costing ~1% in stead of ~20%. 18:30
these are very unscientific 'time'-based tests, so I'd put the margin of error at above 1%. 18:33
cotto_work I'll take it. 18:34
davidfetter plobsing, *if* i could show that it's technically sweeter, and then that the licensing terms are reasonable, absolutely.
cotto_work That means it's a good to turn annotations on by default.
davidfetter "sweeter" in the sense of easier to maintain and extend, not in the sense of dense, incomprehensible hack
cotto_work after more rigorous testing
18:35 davidfetter_ joined
dukeleto ~~ 18:38
davidfetter hai dukeleto :) 18:40
dukeleto davidfetter: wazzup
davidfetter dukeleto, i'm going to be talking about pl/parrot next weekend at FOSDEM, and was wondering whether i need to port parrot 3.0 to it
if i do, i guess i'll go with 2.mumble :P 18:41
plobsing what are (if any) the current blockers to PL/Parrot running on latest-stable?
davidfetter haven't tried it yet. been up to my eyebrows in other stuff :/ 18:43
i.e. i'm getting married this weekend, heading out this week 18:44
next week*
dukeleto davidfetter: you better have a prepared presentation this time ... ;)
davidfetter yeah, yeah
davidfetter gets the impression that dukeleto will be reminding him of this when our first starship launches
dukeleto that too 18:45
dukeleto has plans to fix PL/Parrot soon
plobsing: something went BOOM in the night with Parrot + Rakudo Perl 6 in the last six months
plobsing: some change to Rakudo makes one of the PL/Perl6 tests go into an infinite loop, peg a cpu and coredump a postgres process 18:46
dukeleto submitted a PL/Parrot talk to PGCon again
plobsing is PL/PIR ok? not as impressive a demo, but...
davidfetter PL/PIR makes a fine demo 'cause i can talk about it 18:47
plobsing If I didn't know anything about Parrot, and you showed me PL/PIR, I might ask why I'd want to program my stored procedures in assembly language.
davidfetter and my answer would be, "you wouldn't, but you'll be glad there's a common assembly language when someone writes functions in yourleastfavoritelanguage and you need to use them." 18:48
dukeleto yeps
PL/PIR still works fine
cotto_work PL/bf?
dukeleto it is PL/Perl6 that has some issues right now
cotto_work: thanks for volunteering to write PL/BF !!! 18:49
davidfetter thinking the hardest part of PL/BF would be coming up with a BF API for SPI
dukeleto no database/DBA person cares about PL/PIR, but they want to get their hands on PL/Perl6
davidfetter yep 18:50
davidfetter drafts up a slide titled, "that's nice, but why would i give a $#!t?"
NotFound If you want to show the pir usage but better looking code, you can write the code in winxed and compile it to pir. 18:52
dalek nxed: r748 | NotFound++ | trunk/examples/fly.winxed:
make the train in example fly look more regularly spaced by cheating a bit and a
18:53
dukeleto NotFound: not quite 18:54
NotFound: there are a few magic dwarves in between
NotFound: but it could be hacked in 18:55
NotFound: that is an idea for a new feature : "load this arbitrary PBC as well, when the db starts"
NotFound You don't need to load any pbc to run pir generated by winxed 18:56
dalek rrot: d8106e2 | dukeleto++ | NEWS:
Update NEWS
dukeleto NotFound: i guess you are right about that 18:57
NotFound: PL/Winxed is very possible, if you want to try that
18:57 vmspb joined
NotFound winxed has no runtime library, unless you want to compile-eval at runtime, of course. 18:58
dukeleto NotFound: it would be a good example of "PL/Parrot makes stuff so easy, here is a new programming language embedded in Postgres as a new PL"
NotFound dukeleto: yeah, and examplifies why supporting pir is more useful than they may think. 18:59
ttbot Parrot d8106e20 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1458.txt (tt.taptinder.org/buildstatus/pr-Parrot)
plobsing run openGL from your database! 19:00
NotFound plobsing: even better, using oh-meta you'll may be able to store a grammar in the database and compile code inside it. 19:03
plobsing downside - ohm-eta requires a (fairly small) runtime 19:05
NotFound Let's go step by step
plobsing that reminds me. I should get the test target up and running for that. 19:06
dalek rrot/annotations-tree: 8ea3587 | plobsing++ | / (4 files):
eliminate PackFile_Annotations_Group

this was an attempt to paper-over the cost of linear-scan annotations lookup by adding another linear-scan to the annotations lookup. two wrong solutions do not make a right. thankfully it was never used.
19:09
rrot/annotations-tree: 830a2b5 | plobsing++ | / (5 files):
reimplement annotations for efficient load and lookup

This uses a set of sorted annotations lists of entries (one per annotation key), which can be binary-searched to identify the active annotation. Also avoid costly allocations by using the segment data as the storage for the entries
  (similar to how bytecode does). The downside is that creating these sorted
lists may be costly.
rrot/annotations-tree: 019a2c4 | plobsing++ | t/tools/pbc_dump.t:
remove numval annotation from test - it got removed in the mix
rrot/annotations-tree: 3a3c9df | plobsing++ | src/p (3 files):
get PackfileAnnotations PMC working with new annotations algorithm

PMC now dispatches to packfile API as it should
rrot/annotations-tree: ba0df3a | plobsing++ | t/pmc/packfileannotations.t:
set offset for 'line' test data

ordering of duplicate entries at the same offset is not guarranteed to be preserved (and now isn't)
rrot/annotations-tree: 77df95b | plobsing++ | src/packfile/api.c:
[codingstd] c_function_docs
rrot/annotations-tree: 86363eb | plobsing++ | / (2 files):
headerizer
whiteknight plobsing++ 19:15
I think jnthn had a hand in building the annotations system a while back
I suspect much of it was more "quick fix" than "long term solution" 19:16
jnthn Well, it wasn't really written to be used for that much more than "oh no, we just had an epic fail and need to dump a stack trace with HLL info in" 19:21
It was hardly an efficient form for a profiler to use it though. 19:22
cotto_work was
plobsing++
I'm looking forward to reviewing that.
jnthn BTW, the annotation groups weren't actually for what plobsing++ thought.
They were so you could get a "reset" of all annotations, so for example when merging PBCs things didn't leak. 19:23
plobsing oic. it just looked like a way to reduce the amount of linear scanning required. 19:25
jnthn plobsing: No, that wasn't the motivation.
And I don't think it was ever used in that way either. :) 19:26
cotto_work I saw it the same way as plobsing.
funny, that 19:27
aloha: clock?
aloha cotto_work: LAX: Tue, 11:27 PST / CHI: Tue, 13:27 CST / NYC: Tue, 14:27 EST / UTC: Tue, 19:27 UTC / LON: Tue, 19:27 GMT / BER: Tue, 20:27 CET / TOK: Wed, 04:27 JST / SYD: Wed, 06:27 EST
jnthn I'm curious what pbc_merge does with annotation segments now, though.
plobsing jnthn: SFAIK nothing. only the first 3 segments (by convention bytecode, consttable, and debug, not necessarily in that order) from each PBC get merged. however all segments also get passed through afterwards. 19:31
19:31 tcurtis joined
tcurtis Hello. 19:41
cotto_work hi tcurtis 19:42
whiteknight hello tcurtis. How are you today?
tcurtis Quite well. 19:45
19:48 nwellnhof joined
dukeleto tcurtis: good to see you around 19:58
tcurtis dukeleto: thanks. I'm mostly just popping in to listen in on #ps today, though. 20:00
whiteknight oh shoot. I forgot about #ps 20:05
plobsing #ps! is that right now? 20:06
whiteknight no, 30 min
plobsing phew. 20:09
Coke Util++ # someone found our coverity contact. 20:23
Util It will be nice to have the scans again, but lots of drift will have happened during the 11 months of no feedback. 20:25
mikehh #ps time 20:30
20:31 kid51 joined 21:09 fperrad left
dalek rrot: b54b879 | mikehh++ | src/io/socket_api.c:
fix codetest failure - there should be at least one space between a C
21:12
dukeleto mikehh++ 21:15
ttbot Parrot b54b8794 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1474.txt (tt.taptinder.org/buildstatus/pr-Parrot)
dalek rrot: 97b004d | mikehh++ | src/p (3 files):
fix codetest failures - linelength and sizeof( -> sizeof (
21:16
21:18 perlite left
ttbot Parrot 97b004d3 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/1482.txt (tt.taptinder.org/buildstatus/pr-Parrot) 21:19
21:20 perlite joined
vmspb hi 21:26
tadzik hi
nopaste "vmspb" at 192.168.1.3 pasted "ip6-win32.patch" (40 lines) at nopaste.snit.ch/28899
whiteknight nice 21:27
dalek rrot/tadzik/deprecated-json: 2512fe6 | tadzik++ | DEPRECATED.yaml:
Added DEPRECATED.yaml, a direct translation of DEPRECATED.json
whiteknight dukeleto: ping
vmspb it compiles for win32, but is not working correctly on XP
IPV6_V6ONLY supported Vista+
21:28 plobsing left, whiteknight left
dukeleto vmspb: thanks for a patch! 21:29
vmspb: we should create a branch for it. can you create trac tickets?
vmspb: also, welcome to #parrot, not sure if I've seen you here before
21:32 kid51 left 21:41 fbrito joined 21:54 rurban_ joined
nopaste "vmspb" at 192.168.1.3 pasted "WinXP t/pmc/socket_ipv6.t FAIL" (41 lines) at nopaste.snit.ch/28916 21:54
21:55 rurban left, rurban_ is now known as rurban 21:56 rindolf joined
rindolf Hi all. 21:57
Congrats on the 3.0.0 release.
cotto_work rindolf: thanks
and welcome 21:58
22:04 clunker3 joined 22:07 tcurtis left
dalek p-rx/nom: 227012d | jonathan++ | / (3 files):
Start clearing up the grammar migration. Remove the now-disused original protoregex bit.
22:14
p-rx/nom: 96bf49d | jonathan++ | / (4 files):
Remove pre-port cursor code.
p-rx/nom: ca48590 | jonathan++ | src/Regex/Cursor.pm:
Toss initial experimental port of Cursor to NQP. See 6model repo for diakopter++'s work on this, which is blazing the Cursor-in-NQP trail.
p-rx/nom: 7ef57d5 | jonathan++ | src/Regex/Cursor2.pir:
Install the migrated Cursor, so far just installed as Regex::Cursor2, also as Regex::Cursor.
22:16 vmspb left 22:20 bacek left 22:21 bacek joined
dalek p-rx/nom: 5cb2f1f | jonathan++ | src/Regex/Cursor2 (2 files):
Eliminate Regex::Cursor2 namespace; now just the Cursor2 type object alias installation remains, plus some vestigal naming references.
22:32
p-rx/nom: 4f57429 | jonathan++ | src/ (3 files):
Track down remaining uses of Cursor2 type object and eliminate them.
p-rx/nom: aa8293f | jonathan++ | src/Regex/Cursor2 (2 files):
Eliminate use of Cursor2 in sub IDs.
p-rx/nom: beeb40a | jonathan++ | src/stage0/ (4 files):
Update bootstrap to eliminate usage of Regex::Cursor2 type object alias, so it can finally be removed.
22:45
p-rx/nom: 40c4ce9 | jonathan++ | src/Regex/Cursor2.pir:
Remove installation of Regex::Cursor2.
p-rx/nom: 5239c81 | jonathan++ | / (6 files):
Rename files that had Cursor2 in the name.
p-rx/nom: 619c67d | jonathan++ | src/stage0/ (4 files):
Final bootstrap update to completely eliminate Cursor2's legacy from the source tree.
22:50
22:53 bacek left
dalek rrot/nwellnhof/ipv6: bfa2e64 | nwellnhof++ | / (7 files):
First round of IPv6 fixes

  - Add addr_len argument to Parrot_io_connect and Parrot_io_bind
  - Add family, type, protocol attributes to Socket PMC
  - Change addrinfo walk to only use valid addresses for the socket
  - Make IPv6 tests also look for 'ip6-localhost'
23:02
rrot/nwellnhof/ipv6: 6da689d | nwellnhof++ | / (6 files):
Next round of IPv6 fixes

  - Add type and protocol attributes to Sockaddr PMC
  - Make Parrot_io_getaddrinfo return an array of Sockaddr PMCs
  - Get rid of Parrot_io_sockaddr_in
cotto_work nwellnhof++ 23:05
23:14 kurahaupo joined 23:19 bacek joined
dalek rrot/nwellnhof/ipv6: 65c4d44 | nwellnhof++ | t/pmc/ (2 files):
[t] Fix t/pmc/socket_ipv6.t

  - Use null string instead of "localhost"
  - Reenable all IPv6 tests
23:28
p-rx/nom: a9206dd | jonathan++ | / (4 files):
Add NQPNativeHOW meta-object for native types and native package declarator to go with it.
23:37
p-rx/nom: 510f09f | jonathan++ | src/ (3 files):
Make it possible to give an attribute a type constraint. Currently only the P6opaque REPR pays attention to this.
p-rx/nom: 21c8f5b | jonathan++ | src/NQP/Actions.pm:
Cleanup some leftovers from the 6model migration.
p-rx/nom: 4683d55 | jonathan++ | src/stage0/ (3 files):
Push native into the bootstrap.
cotto_work chromatic++ for that latest blog post 23:48
23:49 Kristaba left, kid51 joined
nopaste "kid51" at 192.168.1.3 pasted "t/examples/pod.t: failures in whiteknight/imcc_interfaces branch" (83 lines) at nopaste.snit.ch/28945 23:53
dalek p-rx/nom: d5dc5d8 | jonathan++ | / (2 files):
Add int, num, str.
p-rx/nom: 1e3ab6a | jonathan++ | src/metamodel/how/NQPNativeHOW.pm:
Add int.^name et al.
kid51 msg whiteknight See nopaste.snit.ch/28945 for examples tests failures in your branch 23:56
aloha OK. I'll deliver the message.