|
Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 25 August 2011. |
|||
| whiteknight | let me tell you what: tabbed terminal is the best thing ever | 00:03 | |
| soh_cah_toa | definitely | 00:04 | |
| whiteknight: once we have a working implementation that can be merged, we can rename anything "odius" to "debug" and nuke the old debug segment. the name "odius segment" doesn't really make it clear what it's for and it's also misleading since odius just refers to the format but it's fine for now in the branch | 00:10 | ||
| whiteknight | okay | 00:11 | |
| benabik | odius? | 00:32 | |
| Just explained it, nevermind. | 00:33 | ||
| soh_cah_toa | benabik: it's a play on words for ODS: opcode debug serialization format. was suggested by kid51++ | ||
|
00:37
nbrown joined
01:09
woosley joined
|
|||
| plobsing | soh_cah_toa: I wish I could come up for a complementing backronym for EVENS | 01:27 | |
| soh_cah_toa | plobsing: evens? | 01:28 | |
| plobsing | ODS -> odds | ||
| odds and evens | |||
| soh_cah_toa | ha! | ||
| whiteknight | soh_cah_toa: if you can prototype some of the data structures needed for odius, that would help us figure out how to do pack/unpack. Start prototyping structs for the descriptors and all | 01:32 | |
| soh_cah_toa | whiteknight: sure, i can start on some of the things that can be implemented independent of parrot-specifics. there's a lot of work that needs to be done in the spec (or maybe not that much) to implement pmc's b/c it mentions nothing about them | 01:34 | |
| b/c right now it's mostly designed for a c compiler being born from dwarf an all | 01:35 | ||
| dalek | op: e4b59f4 | Whiteknight++ | stage0/js/wast.js: make sure to use the 'new' keyword when trying to create an array |
01:39 | |
| op: 4526100 | Whiteknight++ | stage0/runtime/jsobject.winxed: Start prototyping the JSObject base type. |
|||
| op: 4abbf7a | Whiteknight++ | stage0/runtime/jsobject.winxed: stub out logic for get/set attr in JSObject |
01:45 | ||
| whiteknight | I'm heading to bed now. I'll take a look at things tomorrow, and might be able to hack tomorrow night | ||
| soh_cah_toa | great | 01:46 | |
| see ya :) | |||
| whiteknight | goodnight | ||
|
01:56
jkitazawa joined
02:07
herat joined
02:17
herat joined
02:32
soh_cah_toa_ joined
|
|||
| cotto | ~~ | 02:52 | |
| plobsing | is there any way to catch the 'end' opcode? | 02:57 | |
| cotto | istr it being hard-coded to be uncatchable | 02:58 | |
| plobsing | ugh. more parrot is a program assumptions. | 02:59 | |
| fun times. | |||
| cotto | admitting we have a problem is the first step toward ars^H^H^Hrecovery | 03:00 | |
| dalek | rrot/nwellnhof/compiler_flags: 7eaf3f3 | jkeenan++ | config/ (5 files): Refine init::hints::darwin. Move settings of certtain flags out of auto::gcc and into init::defaults or hints files. |
||
| plobsing | cotto: why is it that most problems in life seem to be best solved with a time machine and a sniper rifle? | 03:01 | |
| benabik | What is the end opcode? | ||
| plobsing | it is the end | ||
| cotto | benabik, the end of all things | ||
| it's invoked once at the end of time | |||
| benabik | End of the packfile or "shut down the VM"? | 03:02 | |
| plobsing | it is our subtle nod to jim morrison | ||
| but to be specific, it ends any runloop that executes it | |||
| which is less than awesome when you are trying to write a test that wraps such code | 03:03 | ||
| staying true to CPS, we should end the runloop by invoking a special continuation that jumps out of the runloop | 03:05 | ||
| soh_cah_toa just ordered a copy of 'the art of the metaobject protocol' and 'the garbage collection handbook' | 03:15 | ||
| nothing like getting a new book :) | |||
| cotto | soh_cah_toa, I hope you like lisp | ||
| soh_cah_toa | uh oh | 03:16 | |
| why's that? | |||
| cotto | The Art of the Metaobject Protocol uses CLOS. | ||
| plobsing | becauth thath'th wat the bookth uthe | ||
| soh_cah_toa | ugh | ||
| i guess that's why amazon recommended all those scheme books | 03:17 | ||
| cotto | It teaches you enough lisp to get by, but you still have to resist the urge to clip your toenails and learn it. | ||
| lolz | |||
| soh_cah_toa | ha! i love that quote | ||
|
03:18
Coke joined
|
|||
| cotto | I really wish I'd taken more of an interest in lisp-family languages in college. They're ugly, but their ugliness is their beauty. | 03:18 | |
| sorear | plobsing: we do that. how does the runloop know that it has reached the exit continuation? answer: the end opcode handles it. | ||
| soh_cah_toa now goes looking for a lisp tutorial | 03:19 | ||
| cotto | soh_cah_toa, good idea | ||
| benabik | I dislike Lisp just because the syntax flows together too much. I can't skim it because it's all ((())()(())) with nothing to distinguish it. Syntax highlighting helps some, but not a lot. | 03:20 | |
| cotto | benabik, I saw a convincing blog post that much of the turn-off of lisp is that it's poorly formatted. | ||
| cotto digs | |||
| soh_cah_toa | i think that's the reason anybody who hates lisp hates it for | ||
| plobsing | sorear: you could set up a special continuation that setjmped out of the runloop, no need for an opcode | ||
| sorear | benabik: as TimToady puts it - "Different things should look different." | 03:21 | |
| plobsing | er longjmp | ||
| benabik | sorear: Exactly. | ||
| cotto: Poor formatting exacerbates the problem, but the syntax itself doesn't lend itself to easy reading. | 03:22 | ||
| cotto | benabik, agreed | ||
| well, the non-syntax | |||
| benabik | Probably because S-exp weren't intended to be written by hand by the original designer. | ||
| Lisp M-exps aren't too bad and resemble modern functional languages (ML, Haskell, etc) | |||
| sorear | There are undeniable advantages to a homoiconic language. | 03:23 | |
| cotto wants cake-eating and cake-having | 03:25 | ||
| dalek | rrot: 9fbe486 | plobsing++ | t/pmc/ (2 files): add tests to prove subs originating from packfileconstanttable pmcs are runable (and therefore presumably reasonably sane) |
04:45 | |
| rrot: bece867 | plobsing++ | src/pmc/packfile.pmc: disable freeing of memory that might not be available yet This prevents invalid memory access at the cost of a memory leak in the read functionality of the Packfile PMCs. |
|||
| rrot: 9df4cee | plobsing++ | / (3 files): eliminate an attribute in Sub by cacheing PackfileView in the packfile itself |
|||
|
05:30
jsut_ joined
06:03
fperrad joined
06:46
nopaste joined
06:54
baest joined
06:55
mj41 joined
08:03
dod joined
08:29
contingencyplan joined
08:53
SHODAN joined
09:19
jsut joined
09:32
schmooster joined
10:05
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 10:25 | |
|
10:56
ambs joined
11:07
ambs joined
11:52
JimmyZ joined
12:02
herat joined
12:17
Coke joined
12:24
JimmyZ joined
12:38
lateau joined
12:47
Coke joined
|
|||
| bubaflub | ~ | 12:55 | |
|
12:55
bluescreen joined
|
|||
| plobsing | o/ | 12:55 | |
|
13:05
Util joined
|
|||
| dalek | op: 8058b9a | Whiteknight++ | / (4 files): Add makefile rules to build jsobject runtime. Fixes so jsobject.winxed builds. Fix object literal code generation |
13:05 | |
| op: ccc8183 | Whiteknight++ | stage0/ (3 files): Fix init and main routines. Add error reporting at the top level. generate some winxed code that actually executes |
|||
| op: e41c88e | Whiteknight++ | js2w (2 files): rename the driver program to make it clear it's just stage 0 |
|||
| op: 5b08501 | Whiteknight++ | / (2 files): Redo the frontend to be more usable. Add --astdebug option which dumps ast and wast to stdout. Add -o option to pipe output to the console or a file |
|||
| op: 71c89a9 | Whiteknight++ | .gitignore: +simple .gitignore |
|||
| op: 1aae5e7 | Whiteknight++ | README: Update README |
|||
|
13:12
Util_ joined
13:21
Util joined
|
|||
| dalek | op: 39bb071 | Whiteknight++ | / (5 files): Change the grammar so that MemberExpr are coming out as raw literals, not string literals. Fix MemberExpr so we don't insert parens randomly where they don't belong. Make sure to print out the Exception message on error |
13:27 | |
|
13:30
lateau joined
|
|||
| dalek | sella: af49ba8 | Whiteknight++ | setup.winxed: Add several utilities to the build and install |
13:31 | |
| JimmyZ | \\o/, so many javascript compilers on parrot | 13:34 | |
|
13:37
Util joined
13:49
mtk joined,
JimmyZ joined
13:50
snarkyboojum joined
13:59
PacoLinux joined
14:07
woosley joined
14:21
dmalcolm joined
|
|||
| dukeleto | ~~ | 14:23 | |
| bubaflub | morning dukeleto | 14:26 | |
|
14:30
woosley joined
|
|||
| dukeleto | bubaflub: jolly good day | 14:42 | |
|
14:50
logie joined
14:59
mtk joined
15:02
mtk joined
15:12
aloha joined
15:19
bacek_at_work joined
15:35
mtk joined
|
|||
| dalek | rrot/whiteknight/frontend_parrot2: 0d38c70 | plobsing++ | config/gen/makefiles/root.in: add boostrap-prt0 make target |
15:47 | |
| rrot/whiteknight/frontend_parrot2: 5697b15 | plobsing++ | frontend/parrot2/prt0.pir: check in generated prt0 |
|||
|
15:58
whiteknight joined
16:00
Coke joined
16:07
woosley left
16:29
whiteknight joined
16:37
sjn joined
16:39
sjn joined
16:48
sjn left
|
|||
| cotto_work | ~~ | 16:51 | |
| benabik | o/ | ||
| tadzik | hello #parrot | 17:04 | |
| dalek | rrot/whiteknight/frontend_parrot2: 3ecf705 | plobsing++ | config/gen/makefiles/root.in: disable annotations in prt0 These leak into other code which lacks annotations, making it appear that throwing code originates from frontend/parrot2/prt0.winxed. |
17:05 | |
| rrot/whiteknight/frontend_parrot2: 41f7556 | plobsing++ | frontend/parrot2/prt0.pir: regenerate prt0.pir |
|||
| rrot/whiteknight/frontend_parrot2: 9408460 | plobsing++ | t/compilers/imcc/syn/pcc.t: remove "end" ops from PASM->PIR mistranslation |
|||
| rrot/whiteknight/frontend_parrot2: 58f04ba | plobsing++ | compilers/imcc/pcc.c: don't fudge :main subs to terminate with an 'end' op This is unecessary, the runloop will exit when main returns anyways, and causes confusing problems, such as unexpected termination or segfaults when main is re-used. |
|||
| whiteknight | plobsing++ | 17:07 | |
| dalek | op: 9f38519 | Whiteknight++ | / (5 files): Add in a quick Rosella-based test harness. Add in a sanity test for stage 0. Has a hardcoded dependency on node, but that's fine for now |
17:08 | |
| plobsing | whiteknight: we're down to 4 failing tests, one of which is checkdepend | 17:09 | |
| dalek | sella: 1e97a1e | Whiteknight++ | src/harness/ (4 files): rearrange some of the Harness.TestFile logic so parts of it can be more subclassable |
17:17 | |
| op: 22fb0ff | Whiteknight++ | / (3 files): silence some winxed warnings. if we can't compile stage0 tests to winxed, abort the test and tell the user what happened |
17:19 | ||
| whiteknight | plobsing: that's great to hear. And it looks like we're making some real general improvements as well | ||
| the main/end thing is ncie | |||
| nice | |||
|
17:19
ambs joined
|
|||
| plobsing | yeah, when I figured out that was causing a problem, I was quite happy | 17:20 | |
| I've been looking for an excuse to kill crufty stuff like that for ages | |||
| dukeleto | Yo dawg, I heard you like X86 assembly... blog.cdleary.com/2011/08/understand...jit-spray/ | ||
| plobsing | objdump -d $(which as) # an assembler in assembly (so you can compile while u compile) | 17:22 | |
|
17:22
davidfetter joined
|
|||
| tadzik | ooh, Parrot is evolving nicely when I'm not looking :) | 17:23 | |
| whiteknight | tadzik: shh! Don't tell nobody | 17:24 | |
| tadzik | I mean, 6model? Wow | 17:25 | |
| plobsing | tadzik: the usual cautions about counting unhatched eggs applies. | 17:26 | |
| cotto_work | +1 | ||
| tadzik | shh | ||
| dalek | op: 85692b8 | Whiteknight++ | / (3 files): Some fixes. Add in a new test file showing how we can do basic use of Rosella.Test from JS |
17:46 | |
| whiteknight | having automated tests for this is going to make further progress much easier | 17:47 | |
| benabik | Are you calling Winxed code from JS? Isn't that HLL interop? Isn't that difficult, tricky, and possibly even blasphemous? ;-) | 17:48 | |
| whiteknight | well, I'm compiling JS to Winxed | ||
| so technically, if you look at it cross-eyed, no | 17:49 | ||
| benabik | Ah, fair enough. | ||
| dalek | rrot/whiteknight/frontend_parrot2: 00926ad | plobsing++ | t/tools/pbc_dump.t: main no longer contains an "end" opcode, fix test |
17:50 | |
| rrot/whiteknight/frontend_parrot2: 5d12d63 | plobsing++ | t/op/gc.t: add hack to drop tailcalling prt0 frame and fix recursion limit test |
|||
| plobsing | whiteknight: are you doing a JS/Winxed polyglot? | 17:51 | |
| or are you keeping them separate? | |||
| whiteknight | plobsing: js->winxed compiler | ||
| benabik | That tail call hack seems⦠tacky. | ||
| hacky. | |||
| whiteknight | stage 0 is written completely in JS to produce a winxed stage 1 | ||
| plobsing | benabik: that's what you get with a calling convention that expects the callee to copy arguments | 17:52 | |
| whiteknight | then the winxed stage 1, once it sucks less, will be used to compile a pure JS->JS stage 2 | ||
| plobsing | ah, so you're keeping them separate. | 17:54 | |
| winxed and JS are so similar, it is tempting to write code that is both, but (from experience), it turns out to be harder than it sounds | |||
| dalek | kudo/nom: ebd4957 | (Martin Berends)++ | / (2 files): [src/core/List.pm] categorize() method and sub, add test to spectest.data |
17:56 | |
| sella: 2279a25 | Whiteknight++ | s (4 files): Add a new test_list function to Test, for testing objects which contain an array of functions |
18:00 | ||
| tadzik | /home/tadzik/src/parrot/install/parrot/include/3.7.0-devel/parrot/parrot.h:89:19: fatal error: ffi.h: No such file or directory | 18:10 | |
| this happens during Rakudo build, have you seen anything like this maybe? | 18:11 | ||
| cotto_work | tadzik: doesn't rakudo require ffi? | ||
| cotto_work moves to #perl6 | |||
| tadzik | cotto_work: not sure | ||
| also, cc1: warning: /usr/lib/libffi-3.0.9/include: No such file or directory [enabled by default] | |||
| maybe something fscked on my system | 18:12 | ||
| cotto_work | tadzik: that's probably the same cause | ||
| tadzik | yeah | ||
| I've just updated gcc too | |||
| cotto_work | tadzik: do you have the libffi headers installed? | ||
| something like libffi-dev on debian-based systems | |||
| tadzik | no -dev packages on my linux I believe | 18:13 | |
| I mean, I'm not on debian :) | |||
| I have /usr/lib/libffi-3.0.10/include/ffi.h | |||
| tadzik tries parrot-realclean | |||
| oh, versioning | |||
| cotto_work | tadzik: which os? | 18:15 | |
| tadzik | Arch Linux | ||
| I've just had some gcc update I believe, maybe they've screwed it up | |||
| plobsing | tadzik: I thought I was the only one | 18:16 | |
| (re: Arch) | |||
| tadzik | :) | ||
| dalek | rrot/whiteknight/frontend_parrot2: 64b5979 | plobsing++ | config/gen/makefiles/root.in: fix makefile dependency issues (checkdepend++) |
18:20 | |
| tadzik | okay, realcleaning everything, nqp included, has helped | 18:28 | |
| plobsing | one fail remaining on frontend_parrot2 - profiling.t | 18:31 | |
| moritz | whiteknight: fwiw I get a build failure in whiteknight/6model branch: Class '/usr/local/lib/parrot/3.7.0-devel/include/config.fpmc' not found (in step ./parrot pbc_to_exe.pbc pbc_to_exe.pbc) | 18:35 | |
| whiteknight: there's no /usr/local/lib/parrot on my system | |||
| plobsing | whiteknight: profiling.t is failing because the profiling runcore expects IGLOBALS_EXECUTABLE to be set before it starts executing prt0 | 18:38 | |
| thoughts? | |||
| whiteknight | plobsing: my thoughts: *facepalm* | 19:08 | |
| I moved that to prt0.pir to try and cut down an extra API call, but there is no real reason why it must be moved | 19:10 | ||
| in fact, it was kind of an ugly hack to even make it set-able from PIR | |||
|
19:17
particle joined
|
|||
| cotto_work | that profiling test is causing trouble for a lot of people lately | 19:32 | |
| plobsing | cotto_work: oh? who else is having prof problems? | ||
| cotto_work | plobsing: not_gerd is seeing failures on msys | ||
| if he drops by, I'd like to try to duplicate his setup. | 19:33 | ||
|
19:34
TiMBuS joined
19:48
dukeleto joined
20:02
whiteknight joined
20:03
mj41 joined
20:06
soh_cah_toa joined
|
|||
| dalek | rrot/whiteknight/frontend_parrot2: b1a3ae2 | plobsing++ | / (2 files): Revert "Set the executable name from prt0, to avoid an API call. Show usage messages from prt0 if necessary, fix handling of -h and -V. a few other related cleanups" This reverts commit 3631eece3b1ac11c034dfdf70a0de886fe171d59. The profiling runcore expects the executable name to be available before entering the runcore (and executing prt0). Conflicts: \tfrontend/parrot2/prt0.pir |
20:12 | |
| rrot/whiteknight/frontend_parrot2: 662d82d | plobsing++ | frontend/parrot2/prt0.winxed: don't set exe name in prt0 |
|||
| rrot/whiteknight/frontend_parrot2: 4611f4c | plobsing++ | frontend/parrot2/prt0.pir: regen prt0.pir |
|||
|
20:15
Eclesia joined
|
|||
| Eclesia | hi | 20:15 | |
|
20:25
bluescreen joined
|
|||
| cotto_work | soh_cah_toa: what's with name of "odius"? | 20:28 | |
| soh_cah_toa | cotto_work: ah, that was suggested to me by kid51++ | 20:29 | |
| cotto_work: see line 28 of the spec | |||
| gist.github.com/1133182 | |||
| cotto_work | really? It seems negative. | ||
| looking | |||
| Hmm. ok. | 20:30 | ||
| I'm not a fan of the connotation, but you can name it how you see fit. | |||
| soh_cah_toa | how come? | 20:32 | |
| i mean, i'm still open to anything else but i'm just curious | |||
| cotto_work | Is "odius" an intentional misspelling of odious? | ||
| which means something like hateful | |||
| soh_cah_toa | ah man, are you serious? | ||
| cotto_work | nope | ||
| soh_cah_toa | man, i keep picking the worst names | ||
|
20:32
not_gerd joined
|
|||
| not_gerd | hello #parrot | 20:33 | |
| cotto_work | duckduckgo.com/?q=odious | ||
| hio not_gerd | |||
| soh_cah_toa: I'm glad to hear that you didn't do that on purpose. I was worried. | |||
| soh_cah_toa | ugh, time for another name | ||
| cotto_work | sorry to keep poking holes in the names you pick | ||
| dalek | op: 86b3225 | Whiteknight++ | / (4 files): Dont generate code in an HLL. is broken. Implement closures. Fix parameter lists to allow 0 or more than 1 parameters. JSObject should be iterable like a hash. JSObject can hold a separate store of hidden attributes that aren't enumerated |
20:34 | |
| soh_cah_toa | :) | ||
| cotto_work | not_gerd: how did you set up your windows build environment? | 20:35 | |
| dalek | op: 7aaf0ea | Whiteknight++ | t/stage0/01-rosella_test.t: Add in a test for null means null |
||
| cotto_work | I'd like to try to duplicate the profiling test failure you're seeing. | ||
| not_gerd | cotto_work: you can use the installer from sourceforge.net/projects/mingw/ | 20:38 | |
| for msys-MINGW32, you need mingw and the msys base system, for msys-MSYS the msys developer package | |||
| cotto_work | not_gerd: is it reasonably easy to keep that separate from cygwin? | 20:39 | |
| not_gerd | cotto_work: if you don't manually add things to PATH, there shouldn't be any problems | 20:40 | |
| soh_cah_toa | msg whiteknight looks like we need *another* name. again. duckduckgo.com/?q=odious | ||
| aloha | OK. I'll deliver the message. | ||
| not_gerd | I think I also neede to install the msys-crypt package | 20:41 | |
| plobsing | soh_cah_toa: that wasn't intentional? | ||
| soh_cah_toa | plobsing: no, i had no idea | ||
| dalek | op: 2892516 | Whiteknight++ | js0.sh: Add in a quick js0.sh driver program that compiles .js files to .winxed, and uses the winxed binary to execute them |
20:42 | |
| not_gerd | cotto_work: mingw recently got a minimal package manager - you can get msys-crypt via `mingw-get install msys-crypt` | ||
| cotto_work | not_gerd: that sounds nice | 20:43 | |
| plobsing | looks like odio.us/plan is down. :( | 20:53 | |
|
21:11
RobertLJ joined
|
|||
| dalek | rrot/whiteknight/frontend_parrot2: 3803c5c | plobsing++ | frontend/parrot2/ (3 files): inform about missing program name from prt0 |
21:13 | |
| cotto_work | blog.cdleary.com/2011/08/understand...jit-spray/ | 21:51 | |
|
21:52
bluescreen joined
|
|||
| plobsing | cotto_work: dukeleto beat you to it | 21:53 | |
| cotto_work | d'oh | 21:56 | |
| dalek | op: c292b19 | Whiteknight++ | / (2 files): Add in a test file for object and attribute syntax. Some things are commented out that don't work yet |
||
|
22:08
RobertLJ joined
|
|||
| dalek | rrot/whiteknight/frontend_parrot2: b4a2811 | plobsing++ | / (109 files): Merge branch 'master' into whiteknight/frontend_parrot2 Conflicts: \tcompilers/imcc/imclexer.c \tcompilers/imcc/imcparser.c \tcompilers/imcc/imcparser.h \tsrc/pmc/imccompiler.pmc |
22:20 | |
| rrot/soh-cah-toa/odius: 47fad85 | soh_cah_toa++ | include/parrot/packfile.h: Started prototyping DDE and other related structures. |
22:31 | ||
| not_gerd | bye, #parrot | ||
| soh_cah_toa | msg whiteknight i started prototyping the dde and other structs. build still fails and i think it's b/c of pbc_to_exe. let me know where to go from here | 22:33 | |
| aloha | OK. I'll deliver the message. | ||
| dalek | rrot/whiteknight/frontend_parrot2: d2a21d4 | plobsing++ | MANIFEST (2 files): mk_manifest_and_skip |
22:36 | |
| plobsing | msg whiteknight frontend/parrot2 is passing all tests on my box. should we begin merge preparations or are there other goals you have for the branch? | ||
| aloha | OK. I'll deliver the message. | ||
|
22:44
rfw joined
22:54
Coke joined
23:07
jevin joined
|
|||
| dalek | TT #621 closed by cotto++: native exec support resurrection | 23:13 | |
| TT #621: trac.parrot.org/parrot/ticket/621 | |||