|
Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today Set by moderator on 17 May 2011. |
|||
|
00:02
lucian_ left
|
|||
| dukeleto | ENOLAURELS | 00:07 | |
|
00:13
jevin joined
|
|||
| dukeleto | jevin: welcome | 00:15 | |
| kid51 | Are there any branches that will need testing over the next four days? | 00:26 | |
| whiteknight | none that I know of | 00:29 | |
| maybe bacek's gc_tuning branch | |||
| but I don't know the status of thta | |||
|
00:33
kid51 is now known as kid51_at_dinner
00:34
kid51_at_dinner is now known as kid51
|
|||
| whiteknight | valgrind. takes. forever. | 00:34 | |
| nopaste | "kid51" at 192.168.1.3 pasted "Two new failures on master on linux/i386." (158 lines) at nopaste.snit.ch/46344 | 00:35 | |
|
00:35
kid51 is now known as kid51_at_dinner
|
|||
| bacek_at_work | whiteknight, not yet. I know that branch is kind of broken. | 00:42 | |
| whiteknight | okay, I wasn't sure | 00:43 | |
| you need more eyes on it? | |||
| bacek_at_work | more eyes are always welcome :) | 00:45 | |
| whiteknight | I've got three or four in my closet | 00:48 | |
| cotto_work starts singing Harvester of Eyes | 00:50 | ||
| bacek_at_work | whiteknight, wanna something useful for gc_tune branch? | 01:03 | |
| whiteknight | bacek_at_work: sure. I like pretending to be useful | ||
| pmichaud | I'm currently testing kiwi with ~3GB memory | 01:04 | |
| (and orange with somewhat more than that) | |||
| bacek_at_work | There is gc_gms_sweep_pools function. And is has 2 POINTER_ARRAY_ITER instances. If you can extract bodies of this iterators into static functions it will help with debug. | ||
| whiteknight | ko | 01:08 | |
| ok | |||
| Valgrind is still running, so I cant' do anything yet | |||
| cotto | ~~ | 01:29 | |
|
01:37
kid51_at_dinner is now known as kid51
|
|||
| kid51 | Does anyone know at which commit those failures started? | 01:38 | |
| (The fact that we no longer have a git commit number available at end of configuration has screwed up my local test scripts.) | |||
|
01:44
theory left
|
|||
| kid51 | At commit b7811d7ec, 'make' was not completing successfully. | 01:46 | |
| whiteknight | alester was doing some headerizer stuff earlier today that was causing breakages | 01:48 | |
| kid51 | The commit just cited was actually in the middle of various commits. | ||
| commits by alester. | 01:49 | ||
| cotto | master is working fine for me | ||
| kid51 | commit d8520877: make completes and those two tests PASS | ||
| not for me | |||
| See trac.parrot.org/parrot/ticket/2115#comment:1 | |||
| dalek | TT #2115 created by jkeenan++: t/tools/dump_pbc.t and pbc_disassemble.t: new test failures | 01:54 | |
| TT #2115: trac.parrot.org/parrot/ticket/2115 | |||
|
01:55
whiteknight left
|
|||
| cotto | no luck duplicating on my laptop. attempting on my ppc mv | 01:57 | |
| *vm | |||
| somehow Configure.pl segfaulted qemu | 02:00 | ||
| impressive | |||
| kid51 | According to taptinder, early today there were 3 consecutive commits that were causing build failures on all machines *except* Win32. tt.taptinder.org/buildstatus/parrot/master | 02:02 | |
| Reconfirm that at HEAD (commit a115d7cd) 'make' completes but I get the two test failures cited. | 02:03 | ||
| cotto | Awesome. After 30m of running core.pm under valgrind, it segfaults. | 02:11 | |
| er, building core.pm | 02:12 | ||
| kid51 | dukeleto, you want TT #2115? (I just reassigned to petdance before I saw you had taken it.) | 02:13 | |
| cotto | seems to be quite segfaulty | ||
| kid51 | I'll give it back to dukeleto and cc petdance. | 02:14 | |
|
02:21
NotFound_b joined
02:25
kid51 left
|
|||
| NotFound_b | No one ever read the gcc warnings? | 02:33 | |
| pmichaud | I read them and thought "gee, look at the pretty warnings" | ||
| I didn't think they were serious. :-) :-) | |||
| NotFound_b | It's telling now the exact cause of the problem. | 02:34 | |
| cotto | and that's why we want to eliminate the superfluous ones | 02:36 | |
| NotFound_b | To hide the problems? | 02:37 | |
| cotto | NotFound_b, yup. If we ignore them, they can't effect us. | 02:38 | |
| pmichaud | if we ignore them... it's like they don't exist. :-) | ||
| "if we ignore our customers long enough, pretty soon they'll start leaving us alone." | 02:39 | ||
| :-) | |||
| (was just reminded of the despair.com poster, that's all) | |||
| NotFound_b | You worked for sco? | 02:40 | |
| pmichaud | no, but sco didn't ignore their customers | ||
| in fact, they made sure their customers knew that they were save from any IP violations | |||
| *safe | |||
| they wanted to turn every other linux user into a customer :) | |||
| dalek | rrot: 610bb7a | NotFound++ | / (2 files): don't declare as non-null parameter which we are calling with explicit NULL |
02:41 | |
| NotFound_b | That will probably fix TT #2115 | 02:42 | |
| cotto | looks like my ppc vm can reproduce the failures kid51 say | ||
| *saw | |||
| stupid core.pm build keeps segfaulting | 02:43 | ||
| NotFound_b | Looking at the code, it should be failing in all system in non optimized builds. | ||
| pmichaud | please tell me the failures are post-3.4.0 | 02:44 | |
| *all post-3.4.0 | |||
| NotFound_b | No idea, but I think the changes in signatures are from today or yesterday | ||
| cotto | pmichaud, I'm pretty sure gerd would have said something. I don't remember seeing the failures earlier this week. | 02:45 | |
| pmichaud | yeah, the ticket reports 0004e42 as being the culprit, and that was after the release | 02:46 | |
| NotFound_b | Looks like recent gcc are finally capable of doing something useful with that nonnull decorations. | ||
| I'm using 4.5.2 here | 02:47 | ||
| cotto | NotFound_b, nice. | 02:48 | |
| NotFound_b | I already located the problem before seeing the warning, but still... ;) | 02:49 | |
| pmichaud | afk, kids to bed and stuff like that | 02:52 | |
| NotFound_b | The NCI changes are not so bad, I've been able to use a mysql connection utf8 encoded working fine... but with libffi, without it the needed signatures aren't available. | ||
| BTW the last parameter of mysql_real_connect is wrong, should be long, not int. | 02:53 | ||
| unsigned long | |||
| It works in most system with i, but... | 02:54 | ||
| dukeleto | NotFound_b: the demons await to tickle that bug | 02:55 | |
| dalek | rrot/m0-prototype: b6959a7 | cotto++ | src/m0/m0_interp.pl: remove some unneeded constants from the m0 interp |
03:01 | |
| rrot/m0-prototype: 7e1c13f | cotto++ | src/m0/m0_interp.pl: make m0 interp debugging output optional |
|||
|
03:04
arnsholt joined,
arnsholt_ left
|
|||
| dalek | rrot: adb2073 | NotFound++ | t (2 files): add a --help option to create_language and unTODO the related tests |
03:34 | |
|
03:35
benabik joined,
mtk left
03:44
mtk joined
04:24
theory joined
04:25
theory_ joined,
theory left,
theory_ is now known as theory
|
|||
| dalek | website: soh_cah_toa++ | I Think It's Time for a Break | 04:40 | |
| website: www.parrot.org/content/i-think-its-time-break | |||
| dukeleto | ~~ | 04:48 | |
| NotFound_b: i knew if i wrote those tests, someone would fix it someday :) | |||
| soh_cah_toa++ # nice blog post | 04:49 | ||
| NotFound_b | dukeleto: good trick ;) | 04:50 | |
| cotto | dukeleto, does that mean that some day the M0 interpreter tests will pass? | 04:51 | |
| The word "debuggee" isn't used nearly enough these days. | 04:52 | ||
| tadzik | debuggee, as in calee or trainee? | 04:54 | |
|
05:07
theory left
05:14
NotFound_b left
05:39
davidfetter left
|
|||
| pmichaud | github.com/pmichaud/rpbench-result...182219.txt # latest benchmarks for orange | 05:40 | |
| cotto | pmichaud, from a Rakudo perspective, is the tied-cstring branch still worth pursuing? | 05:53 | |
| NotFound | Now that I think about it, there is a simple way to simplify passing char*: add a vtable get_pointer a ByteBuffer, and modify set_string_native to add a zero terminator (or use a method specific). | 06:03 | |
| That way the memory will be easily garbage collected. | |||
| bacek_at_work | NotFound, ByteBuffer store bytes in words :) | 06:04 | |
| NotFound | bacek_at_work: ATTR unsigned char *content; | 06:05 | |
| bacek_at_work | NotFound, ah, sorry... My mistake | ||
| NotFound | I wrote it, I should know ;) | ||
| dalek | tracwiki: v34 | cotto++ | CottoTasklist | 06:19 | |
| tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff | |||
| tracwiki: v35 | cotto++ | CottoTasklist | |||
| tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff | |||
|
06:23
soh_cah_toa left
|
|||
| cotto | msg whiteknight I'm thinking that one improvement to the profiling runcore would be to treat it as a separate frontend with its own arguments on top of what the parrot executable already knows about. Thoughts? | 06:32 | |
| aloha | OK. I'll deliver the message. | ||
| sorear | -0.5 | 06:33 | |
| a lot of our stuff is dependant on pbc2exe | |||
| cotto | sorear, this would be in addition to what we have now. | 06:34 | |
| I should clarify that. | 06:35 | ||
| msg whiteknight To clarify, I'm think about profiling as a separate frontend in addition to keeping -Rprofiling et al. | |||
| aloha | OK. I'll deliver the message. | ||
| cotto sleeps | 06:45 | ||
|
06:50
UltraDM joined
07:00
ShaneC joined
|
|||
| mikehh | got a failure in t/tools/dev/headerizer/01_functions.t - Failed test: 51 - at the end of fulltest :-{ | 07:09 | |
| never looked at that test before | |||
|
07:12
fperrad joined
07:25
mj41 joined
07:50
rurban_ joined
07:52
rurban left,
rurban_ is now known as rurban
08:52
dod joined
08:59
contingencyplan left
09:19
jjore left
09:22
jjore joined
09:50
ShaneC left
09:55
ShaneC joined
10:11
bacek joined
|
|||
| mikehh | seems the change in the re on line 455 of lib/Parrot/Headerizer/Functions.pm is responsible for the error in perl build/tools/build_html.pl | 10:14 | |
| bah wrong paste - s{t/tools/dev/headerizer/01_functions.t}{perl build/tools/build_html.pl} | 10:15 | ||
| mikehh was building Modern Perl Book in another window :-} | 10:16 | ||
| anyway t/tools/dev/headerizer/01_functions.t gets 'PARROT_ASSERT_ARG(( _abcDEF123 )' wants 'PARROT_ASSERT_ARG(_abcDEF123)' from 'ARGFREE_NOTNULL(( _abcDEF123 )())' | 10:21 | ||
| line 460, fails line 471 of t/tools/dev/headerizer/01_functions.t | 10:23 | ||
| s wrong way round :-} | 10:24 | ||
|
10:32
whiteknight joined
10:34
whiteknight left
10:39
whiteknight joined
|
|||
| dalek | rrot: d3c36f1 | fperrad++ | t/tools/mk_language_shell.t: [t] fix on Windows |
10:43 | |
| whiteknight | good morning, #parrot | 10:55 | |
| mikehh | hi whiteknight | 11:00 | |
| bacek | aloha, whiteknight | ||
| whiteknight | hello mikehh, bacek | 11:02 | |
|
11:02
Psyche^ joined
11:05
jsut_ joined
11:07
Patterner left,
Psyche^ is now known as Patterner
11:10
jsut left
11:25
mtk left,
lucian joined
11:31
mtk joined
|
|||
| dalek | rrot/gc_tuning: 0df0d56 | bacek++ | src/gc/gc_gms.c: Factor put sweep_pmc and sweep_string functions to simplify debug |
12:01 | |
| whiteknight has to run valgrind again. last night I forgot --tool=callgrind | |||
| that makes me a sad panda | 12:02 | ||
| moritz churns through 2.6GB of profiling data generated by Devel::NYTProf | 12:06 | ||
|
12:18
theory joined
12:19
davidfetter joined
12:33
theory left
12:38
lucian left
12:40
davidfetter left
12:44
bubaflub joined
13:02
davidfetter joined
13:11
theory joined
|
|||
| dalek | rrot: 806568b | (Gerd Pokorra)++ | / (4 files): remove pkg-config rests, which is now longer supported, see TT #1853 |
13:33 | |
|
13:33
plobsing left,
plobsing joined
13:37
contingencyplan joined
|
|||
| whiteknight | cotto ping | 14:17 | |
| Tene ping | 14:18 | ||
|
14:29
UltraDM left
14:43
hercynium joined
|
|||
| whiteknight | NotFound: ping | 14:52 | |
| moritz | whiteknight: tring ping -b :-) | ||
| whiteknight | :) | ||
| bubaflub | ~~ | 14:53 | |
| NotFound | whiteknight: pong | 14:59 | |
| whiteknight | NotFound: has that namespace lookup logic made it into the installable version yet? | 15:00 | |
| NotFound | whiteknight: yeah | ||
| The revision titled ".... cross your fingers" ;) | 15:01 | ||
| whiteknight | ok | ||
| I just cleaned and installed with plumage, and I'm not sure if I have it | |||
| or maybe I don't understand it | |||
| I need to read more :) | 15:02 | ||
| NotFound | whiteknight: is not reasy, that is the reason for the complicated test. | ||
| Is something like C++... except when is not. | 15:03 | ||
| whiteknight: just ask any doubt | 15:04 | ||
| pmichaud | good morning, #parrot | 15:18 | |
| dukeleto | bubaflub: mornin' | 15:22 | |
| bubaflub | morning dukeleto | 15:24 | |
| whiteknight | yay! callgrind finally completd | 15:31 | |
| several hours later | |||
| core.pm generates 73.47 million PMC headers | 15:33 | ||
| Sub.invoke is called 22 million times | 15:34 | ||
| github.com/Whiteknight/data | 15:37 | ||
| atrodo | Yep, that nearly locked firefox up | 15:38 | |
| pmichaud | those numbers seem to not fit | 15:40 | |
| whiteknight | yeah, best not to look at it in the browser | ||
| pmichaud: what do you mean? | |||
|
15:40
mj41 left
|
|||
| pmichaud | how many pmcs get created per sub invocation? | 15:40 | |
| unless "PMC header" != "PMC" | 15:41 | ||
| whiteknight | 2ish? | ||
| 3-4 if we have slurpy params, more if we have autoboxing | |||
| pmichaud | right | ||
| it seems like 22 million Sub.invoke would result in a lot of PMCs... perhaps more than the 73m figure | 15:42 | ||
| atrodo | hopefully that's m for million, not m for thousands | 15:43 | |
| whiteknight | the fixed-size allocator is used a whopping 130m times | ||
| that's one per PMC, for attribute stores, plus whatever 6model uses, plus other locations like register sets | 15:44 | ||
| pmichaud | we aren't running on 6model yet | ||
| whiteknight | oh | ||
| so that's just vanilla parrot using it that much | |||
| pmichaud | yes | 15:45 | |
| whiteknight | numbers I saw showed the fixed-sized allocator was about 20% faster than malloc for normal loads, so that's a good thing | ||
| whether that still holds or not, I have no idea. I can only imagine malloc would be worse | 15:47 | ||
|
15:50
rurban_ joined
15:52
rurban left,
rurban_ is now known as rurban
|
|||
| dukeleto | bubaflub: how was graduation? | 15:56 | |
| bubaflub | dukeleto: great. | 15:57 | |
| dukeleto: both parents came into town so spent some time with them | |||
| dukeleto | bubaflub: good to hear | 16:00 | |
| whiteknight | CallContext.destroy takes up 2.10% of execution time. CallContext.push_pmc takes up another ~2% | 16:02 | |
| all things considered, CallContext.push_pmc looks pretty smart. | 16:06 | ||
| dukeleto | bubaflub: so are you still recovering from graduation-induced libations, or are you ready to dig into some code? | ||
| cotto | ~~ | 16:08 | |
| whiteknight, poing | |||
| whiteknight | cotto: I like the idea about a separate frontend for profiling, what do you think it should do? | ||
| cotto | whiteknight, I'm thinking it's basically the same as parrot (the executable), except that it runs the profiling runcore by default and knows about profiling-specific options. Apart from making parrot reusable, it shouldn't be that much code. | 16:09 | |
| whiteknight | oaky | 16:10 | |
| okay | |||
| so profiling runcore plus some options, minus some other options? | |||
| cotto | s/, minus.*// | 16:11 | |
| whiteknight | not remove any options? | 16:14 | |
| cotto | I don't see any reason to, and it'd probably simplify the code. | ||
| any thoughts on how to make the code in frontend/parrot amenable to reuse? | 16:15 | ||
| dukeleto | cotto: have you read www.parrot.org/content/i-think-its-time-break yet ? | ||
| whiteknight | cotto: my big future-looking idea is to write much of the frontend code in PIR eventually and bootstrap | 16:16 | |
| that would be extremely amenable to reuse | |||
| dukeleto | bubaflub: also, eagerly awaiting your bonding period blog post :) | ||
| cotto | dukeleto, yes. I'm not sure if I have a good approach, but I'll be re-reading, writing down questions/answers and thinking. | 16:17 | |
| whiteknight, shiny | |||
| whiteknight, it sounds like that'd slow down the transition though. What about making the C code reusable? | 16:19 | ||
|
16:21
mj41 joined
|
|||
| bubaflub | dukeleto: that'll be forth-coming tonight | 16:22 | |
|
16:24
dodathome joined
|
|||
| cotto goes to job | 16:25 | ||
| dukeleto | cotto++ # adding hand-assembled m0b | 16:29 | |
|
16:30
theory left
16:31
JimmyZ joined
16:40
whiteknight left
|
|||
| cotto_work | ~~ | 16:48 | |
| dukeleto: I guess that makes me the prototype M0 assembler. | 16:59 | ||
|
17:02
JimmyZ left
|
|||
| Tene | whiteknight: pong | 17:09 | |
| dukeleto | cotto_work: i will probably move it to a different filename, since where you put it, it will get overridden by my tests | 17:20 | |
| cotto_work: do we want some type of special behavior in the assembler if a m0b file already exists, or should it always just overwrite it ? | 17:21 | ||
| cotto_work | dukeleto: that's probably not optimal. | ||
| good idea | |||
| dukeleto: I'm fine with clobbering any existing file. | |||
|
17:21
theory joined,
theory left
17:22
theory joined
|
|||
| cotto_work | dukeleto: In the typical case, m0b will be much more ephemeral than it is now and clobbering it won't be a big deal. | 17:22 | |
| Nobody gets sad when a .o object file gets clobbered. | |||
| dukeleto | cotto_work: yep, just figured I should ask. It is very much like an .o file | 17:23 | |
|
17:28
theory left
|
|||
| cotto_work | there goes that theory | 17:28 | |
| dalek | TT #2116 created by dukeleto++: t/library/nciutils.t fails on a plain parrot | 17:34 | |
| TT #2116: trac.parrot.org/parrot/ticket/2116 | |||
| TT #2117 created by dukeleto++: t/pmc/nci.t fails when extra nci thunks are disabled | |||
| TT #2117: trac.parrot.org/parrot/ticket/2117 | |||
| TT #2118 created by dukeleto++: t/src/checkdepend.t fails when extra nci tthunks are disabled | |||
| TT #2118: trac.parrot.org/parrot/ticket/2118 | |||
|
17:37
theory joined
|
|||
| pmichaud | trac won't let me log in | 17:42 | |
| it accepts my password, but doesn't actually log me in | 17:43 | ||
| (if I put in an incorrect password, it tells me I have an incorrect password -- so the password isn't the issue) | |||
| dukeleto | pmichaud: interesting | 17:45 | |
| pmichaud: what happens? do you have access to firebug? | |||
| pmichaud | what is firebug? | ||
| cotto_work | pmichaud: I can't duplicate that. Is it possible there's some kind of wacky caching proxy in the way? | ||
| pmichaud | oh, caching proxy is possible from here | ||
| (medical center with diabolical firewall and access policies) | 17:46 | ||
| I'll wait until I get home and try it again. | |||
| dukeleto | pmichaud: github.com/apenwarr/sshuttle | ||
| pmichaud: that is an easy way to get around that | |||
| pmichaud: it basically makes a VPN through ssh for you to a remote host, so all your TCP traffic goes through ssh | 17:47 | ||
| pmichaud | I do dns tunneling for a lot of my other stuff, but haven't tried it for web yet. hasn't really been an issue until now | 17:48 | |
| does trac support https: connections? | |||
| looks like "no" | |||
| that would've solved it also :) | |||
| dukeleto | trac-- | ||
| dukeleto goes on a 2 digit TT warpath | |||
| PerlJam | Um ... I just had a student worker install trac on one of our systems and it uses https | 17:49 | |
| pmichaud | I meant trac.parrot.org, specifically | ||
| not the software, necessarily | |||
| when I use trac.parrot.org, it's forwarding me to the non-https url | |||
| huh, the login is https:/ | |||
| maybe there's a cache that has grabbed the trac.parrot.org login page and keeps serving it back | 17:50 | ||
| dalek | TT #2040 closed by dukeleto++: load_ bytecode with a unicode string fails | ||
| TT #2040: trac.parrot.org/parrot/ticket/2040 | |||
| TT #13 closed by dukeleto++: set up documentation translation infrastructure | |||
| TT #13: trac.parrot.org/parrot/ticket/13 | |||
|
18:00
mj41 left
18:04
hercynium left
18:05
hercynium joined
18:39
dmalcolm joined
18:48
theory left,
ShaneC left
18:49
bubaflub left
18:51
alester joined
19:04
ShaneC joined
19:13
mtk left,
mtk joined
19:24
bubaflub joined
19:37
silug joined
19:39
ambs joined
20:02
lucian joined
20:07
davidfetter left
20:08
davidfetter joined
20:15
tewk_ joined,
tewk left
20:21
tewk joined,
tewk_ left
20:24
theory joined
20:34
theory left
20:44
theory joined,
dodathome left
21:06
soh_cah_toa joined
|
|||
| soh_cah_toa | so i've been looking at some nqp code and i was wondering...what are these really ugly statements like pir::getinterp__P() and pir::defined__IP()? | 21:16 | |
| benabik | soh_cah_toa: Those are parrot opcodes. | ||
| soh_cah_toa | right, i know that | ||
| benabik | soh_cah_toa: NQP lets you use PIR more or less directly. The __P and __IP are type information. | ||
| soh_cah_toa | yeah, that's what i mean | 21:17 | |
| the __* | |||
| benabik | You need type information to use an opcode. getinterp__P takes nothing and returns a PMC and defined__IP takes a PMC and returns an int | ||
| soh_cah_toa | so the first letter indicates the return type and the rest are the argument types? | 21:18 | |
| benabik | soh_cah_toa: Basically. | ||
| soh_cah_toa | hmm...alright | ||
| benabik | I think there are more types, but the basic four are I N S P for Int, Num, String, and PMC | 21:19 | |
| soh_cah_toa | right | 21:20 | |
| that's a really weird notation. i'll get used to it i suppose... | 21:21 | ||
| another thing...i can't seem to figure out what the // operator does | 21:22 | ||
| benabik | NQP is fairly loosely typed, so the additional information is needed. Not the prettiest, but it does work. | ||
| It's like ||, but is based on being defined instead of true. | |||
| cotto_work | soh_cah_toa: another gotcha is that numbers are N, not I. | ||
| benabik | So $b // 5 evaluates to 5 if $b is undefined. | ||
| soh_cah_toa | alright | 21:23 | |
| benabik | Whereas $0 || 5 evaluates to 5 if $b is 0 or false or undefined. | ||
|
21:23
ambs left
|
|||
| soh_cah_toa | ok, what's the advantage of using // over || though? is it true that you could place || anywhere you see //? | 21:24 | |
| cotto_work: right | 21:25 | ||
|
21:25
ShaneC left
|
|||
| benabik | soh_cah_toa: $b // 5 only uses 5 if $b is undefined. $b || 5 uses 5 if $b is false in some way, either boolean false, numeric 0, empty string (IIRC), or undefined. // is useful for when you want one of those "false" values to be a possible result. | 21:26 | |
| benabik actually isn't sure there is a boolean false separate from 0. | 21:27 | ||
| / is also really handy for confusing C++ programmers. | |||
| cotto_work | It's nice to have a language that knows that the semipredicate problem is a thing. | ||
| soh_cah_toa | benabik: yeah, no kidding :) | ||
|
21:28
theory left
21:29
dmalcolm left
|
|||
| soh_cah_toa | so '$foo // $bar' is like 'defined $foo || defined $bar'? | 21:30 | |
| benabik | More like: defined $foo ?? $foo :: $bar | 21:31 | |
| Tene | soh_cah_toa: no, it's: (defined($foo) ? $foo : $bar) | ||
|
21:32
theory joined
|
|||
| benabik | Having written a lot of Java code that uses (objA != null ? objA : default), I really appreciate //. | 21:32 | |
| soh_cah_toa | so it actually evaluates to one of the values being tested, not a boolean value | ||
| benabik | Exactly. | ||
| soh_cah_toa | interesting... | ||
| i suppose it would make those nested ternary tests a whole lot cleaner looking | 21:33 | ||
|
21:34
davidfetter left
|
|||
| soh_cah_toa | wow, i was looking up more info on the short-circuit default operator and i found this bad boy: | 21:36 | |
| glyphic.s3.amazonaws.com/ozone/mark...300dpi.jpg | |||
| benabik | I showed that to my compiler teacher and he sputtered a bit. | ||
| soh_cah_toa | ha | ||
|
22:01
fperrad left
|
|||
| bacek_at_work | ~~ | 22:08 | |
| soh_cah_toa, (various __* suffixes) you can get full list from compilers/pct/src/PAST/Compiler.pir | 22:12 | ||
|
22:30
alester left
22:33
bubaflub left
22:38
theory left
22:44
kid51 joined
22:45
theory joined
22:52
theory left
22:55
hercynium left
22:56
bubaflub joined
|
|||
| kid51 backscrolls | 23:00 | ||
| msg pmichaud We eventually recovered Trac passwords lost around May 5, so if you reset your password then, try the password you originally had. (Or bite bullet and request new password.) | 23:01 | ||
| aloha | OK. I'll deliver the message. | ||
| cotto_work | kid51: it's more likely that a caching proxy is to blame | 23:05 | |
|
23:16
janus left,
janus joined
|
|||
| dalek | TT #2115 closed by jkeenan++: t/tools/dump_pbc.t and pbc_disassemble.t: new test failures | 23:20 | |
| TT #2115: trac.parrot.org/parrot/ticket/2115 | |||
|
23:50
rurban_ joined
23:52
rurban left
23:53
rurban_ is now known as rurban
23:59
hercynium joined
|
|||