Camelia, the Perl 6 bug

IRC log for #parrot, 2008-07-31

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 bacek joined #parrot
00:05 Ademan joined #parrot
00:28 Whiteknight i can break IMCC, and I can do it convincingly
00:29 Whiteknight it would be like it never worked in the first place
00:30 Tene Whiteknight: You think you'll get your GC working eventually?
00:33 Whiteknight no
00:33 Whiteknight but I'm going to try!
00:33 Whiteknight (at least I'm honest)
00:33 Tene You going to keep working on it after SoC is over?
00:33 Whiteknight I'm going to have to!
00:34 Whiteknight But yes, I plan on seeing this project through to the bitter end
00:34 Tene :)
00:34 * jonathan is hoping for a sweet end.
00:35 Whiteknight The deeper I get into my implementation the more problems, vaguarities, and ommissions I find in parrot and the docs
00:35 Whiteknight so at the very least I'm going to fix some of those
00:36 dalek r29892 | Whiteknight++ | gsoc_pdd09:
00:36 dalek : [gsoc_pdd09] reinstate some tests that I've been ignoring, but with a big fat TODO
00:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29892
00:37 davidfetter joined #parrot
00:47 dalek r29893 | Whiteknight++ | gsoc_pdd09:
00:47 dalek : [gsoc_pdd09] major simplification of the Gc_it_hdr data structure, remove unnecessary pointer redirections and dereferences
00:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29893
00:57 dalek r29894 | Whiteknight++ | gsoc_pdd09:
00:57 dalek : [gsoc_pdd09] Some big changes:
00:57 dalek : * Remove the idea of "cards" entirely. It's expensive and complex, and the net benefits are nil
00:57 dalek : * Remove all datastructures and macros associated with the old cards
00:57 dalek : * Simplify arena allocator
00:57 dalek : * remove the ill-defined "config" member of the Gc_it_data structure, which has never found a use
00:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29894
00:59 dalek r29895 | Whiteknight++ | gsoc_pdd09:
00:59 dalek : [gsoc_pdd09] fix all my function prototypes with make headerizer
00:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29895
00:59 neopallium joined #parrot
01:18 dalek r29896 | Whiteknight++ | gsoc_pdd09:
01:18 dalek : [gsoc_pdd09] a few more simplifications and fixes
01:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29896
01:26 grim_fandango joined #parrot
01:31 grim_fandango joined #parrot
01:47 Limbic_Region joined #parrot
01:54 Whiteknight in my branch, it appears that IMCC broke itself
01:54 Whiteknight because it's broken now, and I don't think I did anything to cause it
02:26 dalek r29897 | Whiteknight++ | gsoc_pdd09:
02:26 dalek : [gsoc_pdd09] update a test file to match trunk. Still having compile problems in imcc
02:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29897
03:21 silug joined #parrot
03:31 dalek r29898 | coke++ | trunk:
03:31 dalek : [distro] rebuild MANIFEST.SKIP
03:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29898
03:32 dalek r29899 | coke++ | trunk:
03:32 dalek : [tcl] migrate the list reverse utility sub into a pmc METHOD
03:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29899
03:38 dalek r29900 | coke++ | trunk:
03:38 dalek : [tcl] remove unused function parameter
03:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29900
03:41 petdance joined #parrot
03:44 grim_fandango joined #parrot
04:27 dalek r29901 | particle++ | trunk:
04:27 dalek : [config] remove todo block from bonus tests
04:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29901
04:29 dalek r29902 | coke++ | trunk:
04:29 dalek : [tcl] setup some PMCs once at runtime instead of every time a function is invoked. (Ideally, create them as constants at build time.)
04:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29902
04:44 masak joined #parrot
05:14 dalek r29903 | infinoid++ | pdd13pbc:
05:14 dalek : [pdd13] Merge changes from trunk (-r29604:29902) into pdd13pbc branch.
05:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29903
05:15 Auzon joined #parrot
05:45 dalek r29904 | coke++ | pdd25cx:
05:45 dalek : update some real_exceptions that probably got merged in from trunk.
05:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29904
05:45 dalek r29905 | coke++ | pdd25cx:
05:45 dalek : hearing no object, apply patch from RT # 56786
05:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29905
05:46 Psyche^ joined #parrot
06:34 uniejo joined #parrot
06:35 iblechbot joined #parrot
06:35 cotto_home how to I get debugging output from imcc?
06:36 cotto_home ie what's the easiest way to change IMCC_INFO(interp)->verbose
06:39 cotto_home found it.  looks like -v is my friend
06:58 masak if a parameter in PIR is :optional and happens to be 0, is it treated as if it didn't exist?
06:58 masak because that's how it seems to me.
07:02 Tene masak: is the opt_flag set?
07:02 masak Tene: good question
07:02 purl Yeah, it is. I'm stumped.
07:02 masak I'll check
07:03 masak Tene: no, it isn't.
07:03 masak how does that work, by the way? the mechanism with :optional and :opt_flag, I mean?
07:04 Tene ENOCLUE
07:05 masak ah, http://www.parrotcode.org/docs/pd​d/pdd03_calling_conventions.html
07:05 masak seems to me the :opt_flag really should be set if I send in a 0
07:05 masak (...but it isn't)
07:06 masak could this be related to the fact that `./perl6 -e0` still sends me into REPL mode?
07:07 moritz whoa, spectest_regression is badly borked for me
07:07 moritz Backtrace - Obtained 15 stack frames (max trace depth is 32).
07:07 moritz (for about every test file)
07:09 masak not here -- mine seems to hang instead...
07:09 moritz masak: during the fudge step?
07:09 masak aye
07:10 moritz press Ctrl+D
07:10 moritz pmichaud and I tried to debug the hang, but it's not so easy
07:11 moritz but it's only one of my two local copies that is so badly b0rked
07:11 masak yep, getting the backtraces too
07:11 masak make realclean?
07:11 purl well, make realclean is sometimes need in parrot to work against missing dependencies
07:12 moritz masak: didn't work for. A fresh checkout did, otoh
07:12 masak :(
07:12 masak these are sad times when not even make realclean does the job...
07:13 moritz aye
07:22 masak moritz: fresh checkout, still backtraces
07:23 moritz masak: that's bad
07:23 masak :(
07:25 Ademan joined #parrot
07:26 cotto_home at least it's consistent
07:26 masak yes, it would almost be worse if a fresh checkout fixed it but not a make realclean
07:26 masak should I report it as a bug?
07:30 moritz yes
07:31 masak done.
07:33 moritz thanks
07:33 masak np.
07:33 moritz masak++ # numerous bug reports
07:33 moritz .oO( I hope you attached a patch? ;-)
07:33 masak well...
07:34 masak I thought I'd let the rest of you brood on this one :-P
07:34 moritz ;)
07:34 moritz well, I have  a good excuse - I deleted my tainted checkout, and on the clean one it works for me
07:34 masak lucky you... :)
07:35 masak must be that It-Just-Works effect on Linux...
07:36 moritz my 32 bit Debian box is so boring, I never have platform specific failures....
07:37 moritz (OT: is it *really* so hard to read error messages? this is a gold example: http://www.perlmonks.org/?node_id=701356 heck, it says in the error message exactly what's wrong....)
07:37 moritz (I see these kind of questions quite often, people posting an error message and asking "what's wrong", when the error message literally tells them what's wrong)
07:38 masak people who are new to a technology do that.
07:38 masak at least if they lack the meta-knowledge required to guess what's wrong
07:38 masak they're just overwhelmed by the fact that things didn't work
07:39 moritz seems like
07:39 moritz it feels so stupid nonetheless
07:39 masak the guy probably has no intimate knowledge of @INC, for starters
07:39 masak yes, it feels stupid
07:39 masak but in a teacher-student situation, you get that all the time
07:39 moritz yeah, good point
07:40 masak and the trick is _not_ to react on how stupid it feels from your perspective :)
07:40 moritz I try. Most of the time. ;-)
07:40 masak me too :)
07:41 masak my weak point is trying to live side by side with people who misuse languages they know less about than I do.
07:42 masak like people who use Я as an R, or Д as an A
07:44 moritz oooh, now I'm also getting the backtraces
07:46 dalek r29906 | moritz++ | trunk:
07:46 dalek : [rakudo] add S29-trig/trig.t to spectest_regression, s1n++
07:46 dalek : Patch Courtesy by Jason Switzer <jswitzer at gmail dot com>
07:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29906
07:52 moritz is it only my impression, or is 'make realclean ; perl Configure.pl --cc='ccache gcc' && make -j 2' *really* fast nowadays?
08:03 moritz masak: I changed severity of your ticket to "High" and added a comment
08:03 masak moritz: dz
08:04 moritz dz?
08:04 purl dz is actually a dutch brand of said licorice
08:04 masak purl: dorget dz
08:04 purl masak: i'm not following you...
08:04 masak purl: forget dz
08:04 purl masak: I forgot dz
08:04 masak moritz: dz is Polish for dziękuje
08:04 masak ...which means 'thank you'
08:05 masak it's very easy to write
08:05 masak 'dz', I mean
08:15 moritz I'm mostly ignorant to all eastern countries and language :(
08:17 masak moritz: it's a rewarding field of study, should you ever pick it up. the languages are all quite closely related
08:18 moritz masak: my next target is Norwegian
08:18 masak moritz: moving there?
08:18 moritz but I feel overstrained by learning Perl 6 already ;-)
08:18 masak :)
08:18 moritz masak: no, my girl friend is half norwegian
08:18 masak right. I remember now.
08:19 masak well, you're already in the right language group, so shouldn't be too hard
08:19 moritz aye
08:19 masak and norwegian is fairly clearly pronounced, by my ears
08:19 moritz it's *nearly* understable when you know German and Englisch already
08:20 masak sounds like a good start
08:20 moritz but it's hard for me to speak it, because it requires a certainy melody in the language that's totally missing from both German and English
08:20 moritz so I always feel like I'm singing, but not quite
08:22 dalek r29907 | bernhard++ | trunk:
08:22 dalek : [codingstd] remove trailing whitespace
08:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29907
08:24 masak moritz: people often accuse us Scandinavians of speaking in a 'singing' voice. I can understand what they mean. to us Swedes Norwegian sounds extra funny, not lest because there's a cultural undercurrent of making fun of Norwegians
08:25 moritz ;)
08:44 alvar joined #parrot
08:53 masak (which I don't necessarily subscribe to -- but it takes a mental effort to dissociate oneself from any country-wide prejudice)
08:56 alvar hi
08:56 purl niihau, alvar.
08:56 alvar I have a strange problem compiling parrot on OS X
08:56 alvar hey, purl ;)
08:56 purl alvar: excuse me?
08:57 alvar it breaks with "ld: file not found: /opt/local/lib/libicuuc.dylib.34" and there is surely no such libicu
08:58 alvar ICU is installed as 3.8.1 from the Macports
08:58 alvar but even when I disable ICU support in Configure, it still throws the same error
08:58 alvar any hints? I guess that something in my config is broken, but what?
09:01 masak purl: it's "ni hao"
09:01 purl masak: excuse me?
09:07 masak purl: it's "ni hao", not "nihau"
09:07 purl masak: what?
09:07 masak here I am, talking to a bot...
09:07 moritz no, hi is <reply> ni hao
09:07 purl okay, moritz.
09:07 moritz hi
09:07 purl what's up, moritz.
09:07 moritz hi
09:08 moritz greet me again, stupid bot ;)
09:08 bacek moritz: no. stupidbot is offline
09:08 moritz bacek: "stupid bot" ne "stupidbod" ;-)
09:09 bacek moritz: :)
09:11 bacek moritz: btw, there is some strange test in S29-num/sqrt.t
09:11 bacek fudged one
09:11 bacek eval("sqrt($i.i)" looks very suspicious for me
09:12 moritz if i is defined in terms of multi postfix:<i> { ... } it's not wrong
09:22 bacek moritz: should -1.i works?
09:23 moritz perl6: say 1.
09:23 polyglotbot OUTPUT[Statement not terminated properly at line 1, near "."␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 23624 (src/gen_grammar.pir:2812)␤called from Sub 'parrot;Perl6::Grammar;statementlist' pc
09:23 polyglotbot ..22637 (src/gen_grammar.pir:2449)␤called from Sub 'p...
09:24 moritz bacek: STD.pm parses it, so I guess "yes" (not sure though)
09:24 bacek Of cause it parses :) And try to find method "i" on Int
09:25 bacek perl6: say -1.i
09:25 polyglotbot OUTPUT[Method 'i' not found for invocant of class 'Int'␤current instr.: '_block11' pc 21 (EVAL_13:13)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1088 (src/PCT/HLLCompiler.pir:610)␤called from Sub
09:25 polyglotbot ..'parrot;PCT::HLLCompiler;command_line' pc 1267 (src/PCT...
09:25 bacek It doesn't work in pugs too
09:26 moritz most Complex stuff doesn't work in pugs
09:26 moritz send a mail to p6l?
09:28 bacek moritz: think so? There is no such method "i" in S29 anyway...
09:29 moritz hm, right
10:01 dalek r29908 | kjs++ | trunk:
10:01 dalek : [imcc] add .HLL_map coretype '=' newtype syntax. (to replace .HLL_map coretype ',' newtype later on)
10:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29908
10:40 kj joined #parrot
12:36 iblechbot joined #parrot
12:59 julian_ joined #parrot
13:05 petdance joined #parrot
13:06 gryphon__ joined #parrot
13:23 dalek r29909 | coke++ | trunk:
13:23 dalek : [tcl] remove unused param; use more named registers.
13:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29909
13:26 gryphon__ joined #parrot
13:45 kj Coke: hi
13:45 purl bonjour, kj.
13:45 kj did you see my mail on .param int "key" => answer syntax?
13:49 DietCoke joined #parrot
13:49 DietCoke kj: hi. What's up? (meeting RSN)
13:49 alvar joined #parrot
13:50 kj oh you busy? not that important; i replied on yr email in which you indicated the syntact.sugar for .params was removed in pdd19
13:51 DietCoke <shrug> I'm just the messenger.
13:51 kj I know, I'm not shooting you ;-) But I included a different example
13:51 DietCoke ah, yes. did see that. I have it starred and will try it.
13:51 kj no hurry, just wanted to ping ya
13:52 DietCoke worst case, we open a ticket; we don't have to add the note about the deprecation back in.
13:52 DietCoke (not in PDD19; we can put it right in DEPRECATION.pod)
13:52 kj okay
13:52 kj I see
13:52 alvar joined #parrot
13:52 DietCoke later. =-)
13:52 kj bye
14:20 alvar joined #parrot
14:31 jhorwitz joined #parrot
14:57 iblechbot joined #parrot
15:17 Lorn joined #parrot
15:22 Lorn how i use parrot inside perl5? Inline::Parrot is deprecated.
15:23 davidfetter oi, Lorn
15:25 Lorn davidfetter: hey, good to see you here :) i thought that you only uses freenode, how are you?
15:25 davidfetter tdo blz aqui ;)
15:27 Lorn davidfetter: i need to remember somethings about parrot ^^
15:27 davidfetter i wish i knew
15:28 particle lorn: try parrot::embed, in parrot's ext/ dir
15:28 Lorn particle: thanks :)
15:29 paco joined #parrot
15:30 ambs joined #parrot
15:30 Lorn win 15
15:30 ambs left #parrot
15:31 davidfetter Lorn, any chance you'll be at pgcon.br in september?
15:31 davidfetter Agora o elefante vai pegar! ;)
15:33 Lorn davidfetter: sure, and i will try to show something useful about PL/Parrot
15:33 davidfetter w00t!
15:40 Lorn davidfetter: /j #sao-paulo.pm :)
16:02 Theory joined #parrot
16:26 alvar joined #parrot
16:47 Andy joined #parrot
17:42 particle joined #parrot
18:02 Ademan joined #parrot
18:43 dalek r29910 | coke++ | trunk:
18:43 dalek : [tcl] -TclArray uses a hash, but isn't really a parrot-style hash (no nested keys), so create a new 'does' type and key off that instead of specifically checking the type, or seeing if we 'does hash'.
18:43 dalek : - switch a string check over to isa from typeof.
18:43 dalek : - Fix a typo
18:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29910
19:02 ruoso joined #parrot
19:19 Theory joined #parrot
19:22 rurban joined #parrot
19:29 cotto Is IMCC's way of optimizing code (i.e. loop through all optimizations, restarting after each change, until none of them change anything) the usual way optimizing compilers work?
19:42 particle cotto: it's a common way
19:42 donaldh joined #parrot
20:02 Theory_ joined #parrot
20:08 cotto_work particle, thanks
20:08 rurban anyone tried llvm-2.3 with parrot?
20:08 particle i haven't
20:09 moritz ask nothingmoose... erm, nothingmuch ;)
20:11 rurban yeah, already talked with him. But he used the old llvm with intermedieate bytecode only. the new one is a dropin replacement for gcc
20:11 rurban should be much simplier than his attempts
20:12 rurban I watched the google video yesterday about llvm
20:12 particle wow, i had no idea it's drop-in now
20:12 rurban and built it from source right now.
20:12 particle that's great progress
20:12 rurban yeah.
20:12 rurban they even make their own frontend now, clang, but this not ready yet
20:12 cotto_work llvm++
20:12 rurban clang should replace gcc
20:13 cotto_work rurban, do you have a link to that video?
20:13 * moritz looks if his debian lenny as llvm gcc somewhere
20:13 rurban it is mainly for apple for ide's
20:13 rurban http://llvm.org/docs/GCCFEBuildInstrs.html is for the build
20:14 rurban the video is over one hour!
20:14 rurban http://video.google.com/videop​lay?docid=6189170937161128523
20:14 rurban but gcc-4.3 is not yet supported, just 4.2
20:15 particle at least it's not gcc-2.7
20:15 rurban I'll be playing then with llvm building parrot. Looks hairy.
20:16 rurban Again some Config_heavy.pl cheats
20:16 tewk I've got some ideas for using llvm to get rid of c/pir continuation barriers
20:17 rurban I also want to try out intel's icc c++ 10
20:17 rurban I've got that on Gentoo
20:17 particle it was compiling there months ago
20:18 particle i have it on win32
20:18 particle er, had
20:18 rurban good, significant speedup? or just 5-10%
20:18 moritz tewk: but I think in general we need non-llvm solutions as well
20:18 rurban sure
20:19 rurban I heard llvm is mainly popular for hendheld's because they support smaller integers for cheaper chips
20:19 rurban 11bit int e.g.
20:19 rurban :)
20:19 rurban like lisp integers
20:19 particle 2**11
20:19 purl 2048
20:19 particle oops
20:19 rurban the rest is bigint then
20:20 rurban but this int range is really fast then. faster than 32 but ints
20:20 rurban s/but/bit/
20:23 dolmen joined #parrot
20:23 rurban A not for llvm building: freeebsd uses csh as default, and this does not build llvm. I had to install bash first. gmake is also better than make
20:23 * moritz compiles parrot with llvm-gcc 4.2
20:24 rurban ah, lenny has llvm. good.
20:25 moritz the first t/op/ tests pass
20:26 rurban_ joined #parrot
20:33 moritz all tests succeful
20:34 donaldh :)
20:35 moritz now I'm running the benchmarks
20:39 cognominal joined #parrot
20:49 cotto_work cool.  tests pass with llvm-gcc
20:49 particle make smolder_test
20:50 moritz particle: will do after the benchmark
20:50 particle fab!
20:50 particle be nice to have a PLATFORMS update, too
20:51 rurban great!
20:51 Whiteknight joined #parrot
20:51 moritz is there any tool that creates a line for PLATFORMS for me?
20:56 particle not that i know of
20:56 particle it'd be nice to have it generated from smolder
20:58 dalek r29911 | Whiteknight++ | gsoc_pdd09:
20:58 dalek : [gsoc_pdd09] update to trunk r29910
20:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29911
21:06 moritz running smolder_test right now
21:12 moritz how do I run the tests with JIT and CGoto?
21:21 particle make testj and testC iirc
21:21 moritz ok, testj succeeded
21:21 moritz I'm running one of the other tests now
21:23 jonathan hi hi
21:23 * jonathan waves at everyone
21:23 particle hey there, jonathan
21:24 jonathan How's spectest_regression running for folks now - I saw commetns earlier today about problems?
21:24 moritz jonathan: totally borked
21:24 jonathan Geck.
21:24 * jonathan is grabbing a build now
21:24 moritz at least for me and masak
21:25 jonathan OK - any clues on why?
21:25 moritz RT #57452
21:26 moritz some memory corruption, presumably
21:26 * jonathan stares at the backtrace
21:26 paco Backtrace - Obtained 15 stack frames (max trace depth is 32). :(
21:27 jonathan Parrot_open_p_s_sc
21:27 jonathan dod_register_pmc
21:27 particle did anyone track down the rev that broke it?
21:27 moritz particle: I tried, and failed
21:27 jonathan Why the heck would dod_register_pmc call an op?
21:28 moritz which test<runcore> letter do I have to run for the EXEC column in PLATFORMS?
21:28 * jonathan guesses e!
21:28 jonathan ...but doesn't actually know
21:28 moritz Valid runcores are b, C, f, g, j, r, S.
21:28 moritz no e in the docs
21:28 particle is exec default?
21:28 jonathan I think testing the exec core is kinda different though
21:28 moritz ah, it's testexec
21:29 particle ah, right.
21:29 jonathan Since it makes an exe file and then you run that.
21:29 moritz just the long name ;)
21:29 jonathan It basically sweet-talks JIT into dumping the machine code it generates into a file rather than a block of memory.
21:29 jonathan ...and a few other "minor" details..
21:30 moritz now for testexec I get some failures
21:30 * jonathan isn't surprised.
21:30 jonathan I don't think anyone is actively maintaining it.
21:30 moritz oh, but with normal gcc also
21:32 rurban moritz: llvm-2.3 or 2.2 or 2.1 (4.2 is just the gcc version)
21:32 moritz 2.2-8
21:32 purl -5.8
21:32 rurban and --optimize would be the real deal. for me it fails because I have a big llvm mess currently.
21:32 jonathan t\spec\S02-builtin_data_types\anon_block..........dubious Test returned status 5 (wstat 1280, 0x500)
21:33 jonathan For like, all of them.
21:33 rurban gcc in /usr/bin and llvm-gcc in /usr/local/bin from source. not good.
21:33 particle jonathan: i've been getting that for more than a day
21:33 jonathan On the upside, it runs faster than make spectest_regression usually does.
21:33 particle i figured it was just my bad luck
21:33 jonathan Nope, it's all of our bad luck.
21:34 particle so much for christmas in july
21:34 jonathan Bizzarely make test is fine.
21:34 particle yep, here too
21:36 rurban jonathan: minor details = elf header, link segments fixups
21:36 rurban moritz: 2.3 should have a much better linker
21:37 jonathan rurban: Aye....I spent a chunk of my life writing code to parse the Windows equivalent...
21:37 rurban and 2.4 coming soon better c++ code (faster exceptions). I wonder if tls (__thread attributes) are already in. Do we use that?
21:37 rurban jonathan: PE/COFF headers?
21:38 jonathan rurban: Aye.
21:38 jonathan rurban: When I was working on .Net => Parrot bytecode translation.
21:38 rurban tls: because on clisp we just found out that native gcc supported tls is MUCH faster then doing it by hand
21:39 rurban net2pbc, I remember
21:39 jonathan Sadly, I don't have tuits to maintain it or extend it any more.
21:41 jonathan My word does --trace 1 slow things down...
21:41 rurban new TLS in clisp: http://thread.gmane.org/gm​ane.lisp.clisp.devel/18684
21:43 rurban benchmarks in http://article.gmane.org/gm​ane.lisp.clisp.devel/18692
21:46 rurban jonathan: I did it also. A COFF dumper in pure perl http://search.cpan.org/src/RURB​AN/B-C-1.04_20/script/pl2exe.pl
21:46 rurban Not really a full linker.
21:49 rurban But it's a poor-mans "windows compiler" for perl5.
21:49 jonathan Nice
21:49 jonathan Fancy working on the Parrot exec core? ;-)
21:49 rurban Not really for now. When I have more time maybe.
21:50 rurban First I have to fix the perl compiler. Then I wanted to optimize the perl5 compiler. Then maybe parrot. parrot already is good enough
21:50 particle jonathan: you can turn 'trace 1' on inside perl 6 code
21:51 dalek r29912 | moritz++ | trunk:
21:51 dalek : update PLATFORMS for llvm-gcc on i386
21:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29912
21:51 rurban I thought of using the parrot "unexec" feature to revive perl5 undump cmdline switch, to generate native exe's there
21:51 rurban Or just use the old emacs unexec.
21:51 jonathan particle: Indeed.
21:51 jonathan For some reason I'd not thought we were making it that far.
21:52 rurban moritz: r29912 has a typo llvm-gc-4.2 => gcc
21:53 rurban not a new garbage collector
21:54 moritz too late, and I'm too distracted
21:54 moritz rurban: thank you
21:55 dalek r29913 | moritz++ | trunk:
21:55 dalek : fixed typo in PLATFORMS, rurban++
21:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29913
21:55 rurban ok, I'll go to sleep now. bye
21:56 jonathan Erm, will this sure don't help us.
21:56 jonathan inline op null(out STR) :base_core { $1 = NULL;
21:56 jonathan }
21:57 jonathan Who worked on PERL6LIB?
21:57 particle jhorwitz
21:57 purl i guess jhorwitz is "mod_parrot-guy" or mailto:jeff@smashing.org
21:57 jonathan OK
21:57 particle did he muck it up?
21:57 jonathan particle: Yes and no.
21:57 particle typical.
21:57 jonathan It's screwed up that the null op for a string literally sticks a null in the register, right?
21:57 jonathan Or is that how we actually represent a null string?
21:58 particle null as in \0 ?
21:58 jonathan If it *is*, then the open op is screwed up because it's not checking for a null.
21:58 jonathan As in, the null STRING
21:58 particle oh, yeah, null string handling is screwed up in parrot
21:59 particle i tried to fix it some time ago with NULLSTRING macro, like NULLPMC, but that was rejected
21:59 particle er, PMCNULL and STRINGNULL i guess
21:59 jonathan wow
21:59 jonathan .sub 'main'
21:59 jonathan $P0 = open $S0, $S1
21:59 jonathan .end
22:00 jonathan HOW TO SEGFAULT PARROT IN JUST ONE EASY LINE OF PIR TODAY!!!11!!
22:00 particle lovely.
22:00 jonathan Sometimes I wonder how anything in this VM works. :-|
22:00 * moritz too ;-)
22:00 jonathan OK, so what's STRINGNULL...
22:01 jonathan Hmm...doesn't exist
22:02 wknight8111 joined #parrot
22:06 jonathan OK, it's certainly the PERL6LIB patch that introduced the bug.
22:06 jonathan I'm not immediately sure how to fix it.
22:06 bacek joined #parrot
22:06 jonathan And I'm certainly not comfortable that Parrot is using NULL to represent a null string.
22:06 Lorn joined #parrot
22:07 jonathan aha. I have a patch to make spectest_regression run again.
22:10 particle kj's imcc patches are full of warnings :(
22:12 Lorn_ joined #parrot
22:12 jonathan particle: That's probably because we have SO many warnings enabled...
22:12 jonathan And people probably see different warnings on different platforms.
22:13 dalek r29914 | jonathan++ | trunk:
22:13 dalek : [rakudo] Fix our ability to run spectest_regression. The PERL6LIB patch was, it seems, broken in that if there were no paths it just returned a null string and didn't try the current working directory where Test.pm is. I've made it default to just the filename now, and then it searches, which is probably wrong, but not being able to run spectest_regression is far wronger. ;-) Additionally, it's scary that Parrot was segfaulting as a result of using a string
22:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29914
22:13 jonathan I've put in code before that was warning-free on the platform I developed it on, but gave warnings elsewhere. I'm not saying all the warnings are bad, just suggesting maybe why we get 'em. :-)
22:13 jonathan And that the people checking in code that produces 'em maybe wasn't being sloppy. :-)
22:14 jonathan OK folks, you can all happily make spectest_regression again now. :-)
22:14 particle well, in my opinion, signed/unsigned mismatch and unreachable code are sloppy
22:14 jonathan Ah.
22:15 jonathan Those particular warnings, I'd expect to see on pretty much all platforms...
22:16 * jonathan hopes someone on the commit list reads his rant about 'null $S0 leads to segfault' and chases it up.
22:16 particle assignment within conditional is debatable. i don't like it, but some c coders do
22:16 jonathan I wouldn't say I dislike it, but I don't tend to do it either.
22:17 particle i generally put constants on the left to make sure i get a compiler error if i mistype the comparison op
22:17 particle if (3 = foo)
22:18 jonathan I've seen that trick.
22:18 jonathan It's not a bad idee. For some reason I always do a double-take when I see it.
22:19 teknomunk joined #parrot
22:19 particle yeah, taht's the problem
22:19 jonathan I don't know why, I've somehow always written the constant on the RHS since I was a kid.
22:19 jonathan And I think a lot of people tend to. I'm not sure there's a real reason for it, though.
22:19 jonathan Just cultural norms.
22:20 moritz normaly you say "this variable is 3", and not "3 is this variable"
22:20 jonathan Ah, yes.
22:20 jonathan That's a good point.
22:20 cognominal some manager who peered on my code did the same remark as moritz
22:21 moritz natural language doesn't commute ;)
22:21 donaldh Similar to the OO idiom of "string".equals(var)
22:21 donaldh Saves a null check.
22:22 moritz I still haven't adopted the if (3 == var) notation although I *know+ it's safer
22:22 jonathan In C#, writing if (foo = bar) instead of if (foo == bar) gets you a type check failure at compile time usually. Because the thing in the (...) has to evaluate to something of boolean type.
22:22 jonathan This is nice, apart from you have to write a load of checks explicitly.
22:22 donaldh Yes, Java too.
22:22 jonathan if (somestring.Length != 0) ...
22:22 bacek joined #parrot
22:22 jonathan Aye, C# borrowed a few things from Java. ;-)
22:22 Limbic_Region joined #parrot
22:23 jonathan But then they deviated from Java by, like, adding a few features to the language.
22:23 jonathan </java_troll>
22:23 donaldh :D
22:24 * donaldh goes to bed
22:24 * purl grabs the lube and follows donaldh
22:24 cognominal PHEAR PURL
22:27 dalek r29915 | Whiteknight++ | gsoc_pdd09:
22:27 dalek : [gsoc_pdd09] small change, remove unused directive. Didn't fix the compile error I'mhaving, however
22:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29915
22:27 cotto_work purl borders on human sometimes
22:27 purl cotto_work: sorry...
22:30 moritz I get three test failures in /spec/S03-operators/arith.rakudo
22:30 cotto_work although in this instance she's closer to creepy
22:30 moritz but too tired to investigate
22:31 jonathan moritz: Hey, at least they don't *all* fail now. ;-)
22:31 particle i get those, too
22:31 moritz yes, jonathan++
22:31 jonathan Do I get to claim I fixed almost 2000 tests in one night now?
22:31 moritz and I stell get a failure in t/spec/S02-builtin_data_types/range.rakudo
22:31 jonathan Oh?
22:31 jonathan Hmm.
22:31 bacek morning all
22:31 purl morning, bacek
22:31 jonathan hi bacek
22:32 jonathan moritz: Seeing if I get it here.
22:32 bacek moritz: Missing '}' at line 167  in range.t?
22:33 bacek OTOH arith.t works for me
22:33 jonathan moritz: Passes here.
22:33 jonathan moritz: I wonder - can you check if eol-style: native is set on range.t?
22:34 jonathan svn:eol-style, I mean
22:37 kid51 joined #parrot
22:37 bacek jonathan: stupid question: what does "regex" mean at stdstopper in STD.pm?
22:38 particle cd t/spec && svn pl ...
22:38 moritz it's not
22:39 Theory joined #parrot
22:40 moritz YaY
22:40 moritz fixed
22:40 moritz jonathan++
22:41 ruoso joined #parrot
22:42 dalek r29916 | jkeenan++ | trunk:
22:42 dalek : Add test to cover one uncovered branch:  mock absence of ctags for _evaluate_ctags().
22:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29916
22:44 jonathan w00t
22:44 jonathan bacek: regex = might backtrack
22:45 moritz rule = regex + :ratchet
22:45 moritz no, token = regex + :ratchet
22:45 moritz and rule = Regex + :ratchet :sigspace
22:45 moritz bed &
22:47 bacek jonathan: Do I understand right that it is not implemented in PCT?
22:47 bacek moritz: g'night
22:50 jonathan bacek: it is implemetned
22:52 bacek jonathan: ah. ok.
22:53 * bacek trying to add stdstopper to rakudo...
22:53 bacek failing atm...
22:55 ruoso joined #parrot
23:01 davidfetter joined #parrot
23:01 teknomunk_ joined #parrot
23:07 bacek joined #parrot
23:09 cotto_work 19/539309
23:09 purl 3.52302668785427e-05
23:14 * davidfetter wonders whether he can sneak purl a zero divide
23:14 cotto_work 0/0
23:14 cotto_work 0/0e1
23:16 Theory joined #parrot
23:16 Infinoid 1%0
23:16 purl 0.01
23:16 Infinoid 0^-1
23:16 purl 18446744073709551615
23:17 Infinoid ... right.
23:20 particle joined #parrot
23:21 alvar joined #parrot
23:36 bacek joined #parrot
23:43 cotto_work 2^64-1
23:43 purl 61
23:43 cotto_work 2**64-1
23:43 purl 1.84467440737096e+19
23:44 cotto_work (0^-1)+1
23:44 purl 1.84467440737096e+19
23:44 cotto_work (0^-1)
23:44 purl 18446744073709551615
23:47 wknight8111 0^ anything should be 0
23:47 wknight8111 0**-1
23:47 wknight8111 (0**-1)
23:47 wknight8111 (0**-1)+1
23:48 wknight8111 (0^-1)+1
23:48 purl 1.84467440737096e+19
23:48 wknight8111 (5^2)
23:48 purl 7
23:48 cotto_work 2^2
23:48 purl 0
23:48 wknight8111 5**2
23:48 purl 25
23:48 wknight8111 "^" is XOR, not exponent
23:48 cotto_work that makes sense now
23:49 cotto_work tasty 8-byte ints
23:52 Khisanth joined #parrot
23:56 dalek r29917 | jkeenan++ | trunk:
23:56 dalek : Typographic reformatting of one comment so that colors display better.
23:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29917

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced