|
Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today” | Accepted GSoC Students announced! | GSoC student information emails coming out soon Set by moderator on 26 April 2011. |
|||
|
00:04
Andy joined
|
|||
| soh_cah_toa is back and still frustrated w/ winxed >:( | 00:13 | ||
| whiteknight | I've never seen anything like that with winxed, and I regularly run it on a system with 512Meg RAM | 00:14 | |
| soh_cah_toa: is that the 3.3.0 tag from github, or current HEAD? | 00:15 | ||
| opbots trust soh_cah_toa | |||
| slavorg | Ok | ||
| slavorgn | Ok | ||
| soh_cah_toa | how do i find out? i'm still new to git | ||
| whiteknight | git describe --tags | 00:16 | |
| soh_cah_toa | RELEASE_3_3_0-72-g06bb92c | 00:17 | |
| oh wait | 00:19 | ||
| sorry, that's my host os | |||
| whiteknight | oh, okay | ||
| in parrot, do a "git checkout RELEASE_3_3_0", then make and reinstall again | 00:20 | ||
| soh_cah_toa | RELEASE_3_3_0-72-g06bb92c | ||
| alright | |||
| whiteknight | I'm only suggesting this to rule out the possibility that you have changes after the release which cause problems | ||
| soh_cah_toa | okay | ||
| whiteknight | I always use plumage to install winxed without problems. I've never tried to do it directly | ||
| soh_cah_toa | to be honest, i've never used plumage | 00:21 | |
| i'll try it after i reinstall parrot | |||
| whiteknight | plumage is nice | ||
| parrot setup.pir build && parrot setup.pir install && plumage install winxed | 00:22 | ||
| soh_cah_toa | i've never quite understood it. why a package manager for a vm? i mean, when i think of a package manager i think of yum or apt-get | ||
| benabik | soh_cah_toa: For the same reason you use apt-get. To manage libraries. :-D | 00:23 | |
| whiteknight | soh_cah_toa: you'll understand it when you use it | ||
| it's worthwhile | |||
| soh_cah_toa | alright, i'll give it a try | 00:24 | |
| whiteknight | what version of ubuntu? | ||
|
00:25
lucian_ joined
|
|||
| soh_cah_toa | the newest: 11.04. i don't normally use ubuntu though. i'm an rpm kinda guy. i just quick threw it together to get started w/ parrot because it would be quickest to install | 00:25 | |
|
00:25
lucian left
|
|||
| whiteknight | I have not been too happy with 11.04 | 00:25 | |
| I haven't updated my laptop to use it, only my one vm | 00:26 | ||
| and of course the vm doesn't have enough muscle to run unity, so I can't test that | |||
| and I won't install on my laptop if I can't test it first | |||
| soh_cah_toa | i really don't notice a difference. but then again i really only use it for parrot stuff and don't really dig around inside. that's my fedora machine's job :) | 00:27 | |
| wow, frozen. really? | |||
| ugh... | 00:28 | ||
| rebuilding... | 00:29 | ||
| whiteknight | maybe you just have a problem with that VM | 00:31 | |
| soh_cah_toa | i have a different problem on EVERY system i use | ||
| all w/ winxed | |||
| it's nuts | |||
| whiteknight | that's weird | 00:33 | |
| it's always been extremely stable and usable for me | |||
| soh_cah_toa | agh...still giving me issues. forget it. let me nopaste what my fedora machine complains about. h/o | 00:34 | |
| nopaste | "soh_cah_toa" at 192.168.1.3 pasted "More Winxed Issues" (35 lines) at nopaste.snit.ch/43087 | 00:35 | |
| soh_cah_toa | oh wait, h/o that's not it | 00:36 | |
| that, i just forgot sudo | |||
| it's this: "parrot setup.pir \\n make: parrot: Command not found \\n make: *** [install] Error 127" | 00:37 | ||
| but parrot is installed | |||
| that's what i get w/ "sudo make install" | |||
| whiteknight | make install for winxed? | 00:38 | |
| soh_cah_toa | yeah | ||
| i'll try plumage now | |||
| whiteknight | the winxed makefile does have an install target | 00:39 | |
| definitely try plumage | |||
| soh_cah_toa | h/o i think i'm seeing a pattern | 00:40 | |
|
00:40
utsl left
00:41
utsl joined
|
|||
| soh_cah_toa | after "sudo parrot setup.pir install" i get "sudo: parrot: command not found" which is similar to what i got when using sudo to install winxed | 00:41 | |
| oh, that's installing plumage btw | |||
| dukeleto | soh_cah_toa: parrot is not in the PATH of your root user | ||
| benabik | Sudo cleans out the path, so if parrot is in a wierd directory, that will fail. | ||
| soh_cah_toa | dukeleto: that's what i'm thinking | 00:42 | |
| dukeleto | soh_cah_toa: use the full path to the parrot binary | ||
| whiteknight | soh_cah_toa: where is parrot installed? | ||
| try the install without sudo | 00:43 | ||
| dukeleto | soh_cah_toa: and why are you needing sudo ? | ||
| soh_cah_toa | tada! | ||
| whiteknight | tada! | ||
| soh_cah_toa | dukeleto: i always need sudo w/ things like make install b/c i use the default directory which is usually something like /usr/local/bin | 00:44 | |
| wow, plumage is kickass | 00:45 | ||
| whiteknight | soh_cah_toa: where is parrot installed on your system? | ||
| soh_cah_toa | winxed. installed. done. 2 seconds | ||
| whiteknight | I told you plumage was awesome | ||
| soh_cah_toa | /usr/local/bin | ||
| whiteknight | ok | 00:46 | |
| soh_cah_toa | i don't see how plumage installed it any differently from what i was trying to do but whatever. it's done | 00:48 | |
| whiteknight | I'm telling you, it's magic | ||
| soh_cah_toa | ah...finally lolcode | 00:49 | |
| whiteknight | now your life is complete | ||
| dukeleto | soh_cah_toa: sudo is no bueno | ||
| soh_cah_toa | dukeleto: howcome? | ||
| whiteknight | soh_cah_toa: your homework is to write a lolcode program that calls a module written in Winxed | 00:50 | |
| dukeleto | soh_cah_toa: security issues and other reasons | ||
| soh_cah_toa: github.com/leto/Util/blob/master/bin/new_parrot | |||
| soh_cah_toa: that script is what I use to compile parrots | |||
| soh_cah_toa: and it installs the parrot into the build directory | |||
| bubaflub | soh_cah_toa: i've found that using sudo once causes me to use it for all future invocations; setting the right permissions can be a pain in the butt but it's worth it | ||
| dukeleto | soh_cah_toa: and then I add that to my PATH | ||
| soh_cah_toa: no sudo needed, ever. For parroty stuff, at least. | |||
| soh_cah_toa | dukeleto: alright, i'll give that a try | 00:51 | |
| dukeleto | soh_cah_toa: set TEST_JOBS to the number of CPUs you have, plus 1 | ||
| soh_cah_toa: that script assumes that TEST_JOBS is defined, which is a bug | |||
| soh_cah_toa | whiteknight: that'd be fun | ||
| dukeleto: okay | 00:52 | ||
| whiteknight | soh_cah_toa: I actually don't know how lolcode does it. But if it has the ability to load_language and compreg, you can do anything | ||
| soh_cah_toa | whiteknight: you know, that reminds me...what's compreg? i saw it w/ the imcc_compreg branch and then i saw a pir code example with the compreg opcode but i can't figure out what it stands for | 00:53 | |
| whiteknight | it's a really stupid cntraction of "compiler register" | ||
| I think | |||
| basically, you use that to register a compiler object with the system, and to retrieve it again laster | |||
| later | 00:54 | ||
| so if you want the PIR compiler object, you do "$P0 = compreg 'PIR'" | |||
| and then $P1 = $P0.compile_file('my/file/name.pir') | |||
| or $P1 = $P0.compile_string("...") | |||
| lucian_ | whiteknight: you can try unity-qt in the vm i think, if you care | ||
| whiteknight | lucian_: I might if I get bored | 00:55 | |
| but probably not | |||
|
00:55
lucian_ is now known as lucian
|
|||
| soh_cah_toa | whiteknight: is that any better/worse than just .include 'foobar.pir'? | 00:55 | |
| whiteknight | soh_cah_toa: .include is a compile-time directive. compiler objects let you compile and load on the fly | 00:56 | |
| you can create code strings in your program then compile them | |||
| you can inline Winxed code in NQP code with the compreg. compile it at runtime and execute it | |||
| soh_cah_toa | whiteknight: okay. hmm...i actually may be able to use something like that w/ the debugger | ||
| whiteknight | soh_cah_toa: definitely. I'm sure of it | ||
| for things like macros | 00:57 | ||
| the user enters code, you compile it on the fly and execute the resulting subs | |||
| soh_cah_toa | that's exactly what i was thinking | ||
|
00:59
ShaneC left
|
|||
| soh_cah_toa | whiteknight: how do you suggest implementing the step algorithm? b/c the book i'm reading has the compiler insert a trap instruction at each line and when the program is ran, it simply traps to the debugger at each line. but i don't think i can do that here | 00:59 | |
| i'm sorry, not the compiler. the debugger inserts the trap instruction at the next address and then replaces the instruction later | 01:00 | ||
| but parrot doesn't even have an eip-like register either | |||
| actually, i suppose i could just stop at the next line annotation but then how do i actually stop? there's no trap opcode | 01:04 | ||
| dukeleto | soh_cah_toa: have you decided to use Winxed or NQP for your gsoc project? Or are you still researching that? | ||
| soh_cah_toa | dukeleto: ugh...don't remind me ;) i'm still a little unsure. winxed seems nice but i want to spend the remaining time on gathering ideas not learning a new language | 01:05 | |
| dukeleto | soh_cah_toa: for that reason, I think NQP will suit you better. There will also be less work to do with NQP, in general, because NQP is included in Parrot core | 01:06 | |
| soh_cah_toa: but the final decision is for you and your mentor | |||
| soh_cah_toa | dukeleto: yeah, i wanted to talk to him but i think he just got back from lfnw | 01:07 | |
| dukeleto | soh_cah_toa: but I think spendig a few days doing similar things with both is still very useful for you | ||
| soh_cah_toa: oh yeah, i forgot that cotto++ was your mentor | |||
| soh_cah_toa | dukeleto: yup | 01:09 | |
| dukeleto | soh_cah_toa: consider the bonding period a good time to learn everything you can about parrot, in general. Learning some Winxed will surely increase your understanding of Parrot | ||
| soh_cah_toa: i think you should write a very simple program, just a toy, really, and implement it in both NQP and Winxed, to see how they differ | |||
| soh_cah_toa: and record roughly how much time each took you | |||
| soh_cah_toa: for example, a program that computes the sum of the first 100 primes | 01:10 | ||
| soh_cah_toa | dukeleto: agh! no math! lalalala can't hear you! | ||
| dukeleto | soh_cah_toa: lulz | ||
| soh_cah_toa: ok. A program that computes the longest substring that is the same between two input strings | 01:11 | ||
| soh_cah_toa: better? | |||
| soh_cah_toa | dukeleto: much | ||
| dukeleto | soh_cah_toa: ok. Consider that your homework. This is definitely increase your knowledge of Parrot, NQP and Winxed, and give you a data point for whether to use NQP vs. Winxed | 01:12 | |
| soh_cah_toa: it is a bucket full of win | |||
| s/This is/This will/ | |||
| soh_cah_toa | dukeleto: yeah, simple yet very helpful. i should've thought of that by now | 01:13 | |
|
01:13
bluescreen left
|
|||
| soh_cah_toa | dukeleto: what do you think about what i said earlier? how can i actually "stop" the debugee process w/o a trap instruction? | 01:14 | |
| dukeleto | soh_cah_toa: which thing that you said earlier? I haven | ||
| haven't backlogged, that is. | |||
| soh_cah_toa: have you read the source of the current parrot_debugger ? | 01:16 | ||
| soh_cah_toa | dukeleto: a little | ||
| yeah, i suppose i should go back to that | |||
| i've been caught up in what language to use | |||
| dukeleto | soh_cah_toa: it is useful as a guide for how things are done now | ||
| soh_cah_toa: if you want me to decide for you, I can tell you NQP. But that would rob you of the knowledge acquired by coming to that answer by yourself. | 01:17 | ||
| soh_cah_toa | dukeleto: yeah, i was leaning that way for quite a while | 01:19 | |
| dukeleto | soh_cah_toa: so you plan to use parrot-instrument still? | 01:20 | |
| soh_cah_toa: i don't know if anybody has ever used that from Winxed | |||
| or am I mixing up my proposals? | |||
| soh_cah_toa | dukeleto: oh yeah, i never considered how i'd do that w/ winxed | 01:21 | |
| dukeleto | soh_cah_toa: indeed. | 01:22 | |
| soh_cah_toa: have you run the parrot-instrument tests ? Do they pass on master? | |||
| soh_cah_toa: not enough people use that, and it may have some bitrot | 01:23 | ||
| soh_cah_toa | dukeleto: yeah whiteknight found some memory allocation issues | ||
| whiteknight | parrot-instrument is broked | 01:24 | |
| dukeleto | where does it even live? | ||
| it is not in the parrot github repo | |||
| whiteknight | and I am becoming less and less optimistic that I can fix it | ||
| dukeleto | whiteknight: sadface mcgee | ||
| whiteknight | github.com/Whiteknight/parrot-instrument.git | ||
| soh_cah_toa | oh you've got to be kidding me!!! now nqp-rx won't install! t/nqp/46-charspec.t says "Dubious, test returned 1 (wstat 256, 0x100)" | ||
| whiteknight | dukeleto: I definitely need more eyes to help debugging it | ||
|
01:25
bluescreen joined
|
|||
| soh_cah_toa | Parse errors: No plan found in TAP output | 01:25 | |
| dukeleto | soh_cah_toa: gist the output of prove -v t/nqp/46-charspec.t | ||
| whiteknight: how do you feel about putting parrot-instrument in the parrot github repo? | 01:26 | ||
| whiteknight | dukeleto: I'm fine with it. It's in my profile now because I forked it from khairul | ||
| he wasn't using it, so I forked it | |||
| I'm happy moving it to parrot | |||
| or forking it to parrot | |||
| whatever we need to do to get more eyes on it | 01:27 | ||
| dukeleto | whiteknight: yes, if you could put it into the parrot github, that would be awesome | ||
| whiteknight | I'll fork it there tonight | ||
| dukeleto | whiteknight: then I will add it to my jitterbug instance: new.leto.net:3000/ | ||
| whiteknight++ | |||
| whiteknight | dukeleto: oh great. Jitterbug. That way we can see it fail every time it fails because it's broke | ||
| that's what we need, a constant reminder of its brokenness | 01:28 | ||
| dukeleto | whiteknight: lulz. Yes. | ||
| whiteknight: I will attempt to help fix some bugs in it, but I am deep in M0 territory | 01:29 | ||
| whiteknight | github.com/parrot/parrot-instrument | ||
| dukeleto: yeah, that's fine | |||
| nopaste | "soh_cah_toa" at 192.168.1.3 pasted "nqp-rx test failure" (14 lines) at nopaste.snit.ch/43088 | 01:30 | |
| dukeleto | whiteknight: but it is easy for me to smoke it from different machines, etc... | ||
| soh_cah_toa: looks like the shebang line of that test is wrong | 01:31 | ||
| whiteknight | soh_cah_toa: do you have ICU installed? | ||
| that nqp test probably requires ICU | |||
| if not, don't worry about it. You don't need ICU for most usages | |||
| soh_cah_toa | whiteknight: never heard of it. nqp-rx won't install w/ test failures though | 01:32 | |
| whiteknight | soh_cah_toa: ICU is the library Parrot uses for unicode. If you want to pass that test, you need to install it, reconfigure and rebuild parrot | ||
| Parrot already includes NQP. If you have parot, you have parrot-nqp | 01:33 | ||
| soh_cah_toa | whiteknight: oh yeah | 01:34 | |
| whiteknight: okay. actually it did install. whatever, now at least i can begin comparing languages | |||
| dukeleto | whiteknight: parrot-instrument has no license file | 01:35 | |
| whiteknight: you ok with adding the normal parrot license info and all that jazz? | |||
| whiteknight | dukeleto: sure, whatever | ||
| dukeleto | whiteknight: hokely dokely | ||
|
01:37
ShaneC joined
|
|||
| dukeleto | whiteknight: dalek should announce commits for parrot-instrument now | 01:38 | |
| whiteknight | w00t | ||
| dukeleto | whiteknight: I added it to jitterbug, but I have to fix some issues on my server. parrot isn't in the PATH of jitterbug | 01:39 | |
|
01:39
ShaneC left
|
|||
| bacek_at_work | ~~ | 01:40 | |
| dukeleto | bacek_at_work: greetings, meat bag | 01:41 | |
| bacek_at_work | dukeleto, aloha, bunch of spare parts | ||
| dukeleto | bacek_at_work: glad to see you unstuck yourself in the jit prototype | 01:42 | |
| whiteknight | bacek++ | 01:43 | |
| bacek_at_work | dukeleto, just 2 weeks of thinking and playing with LLVM. It's kind of cheating on "type analyses". I'll probably write blogpost about it tonight/tomorrow | ||
| whiteknight | bacek++ | ||
| bacek_at_work | whiteknight, aloha, magical blogging robot :) | 01:44 | |
| whiteknight | bacek: :) | 01:45 | |
| dukeleto | soh_cah_toa: you can tell cotto++ that I recommend you use NQP, but I still think playing around with some HLLs (like Winxed) will be generally helpful to your parrot knowledge | 01:46 | |
| dukeleto goes for a run | |||
| soh_cah_toa: I still want to see the substring program, though :) | |||
| dukeleto really goes | |||
| whiteknight goes to dream about running | |||
| soh_cah_toa | dukeleto: of course, see ya | 01:47 | |
|
01:47
whiteknight left
|
|||
| dalek | rrot: c9d66d7 | petdance++ | / (2 files): fixing arg annotations |
02:22 | |
|
02:34
mikehh left
|
|||
| dalek | rrot: e0e46b5 | petdance++ | / (2 files): fixing arg annotations |
02:43 | |
| ttbot | Parrot e0e46b52 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/348 | 02:45 | |
|
02:49
woosley joined
03:02
bluescreen left
03:05
cotto joined,
lucian left
|
|||
| dukeleto | msg Andy looks like you broke master with e0e46b5 new.leto.net:3000/project/parrot | 03:06 | |
| aloha | OK. I'll deliver the message. | ||
| Andy | agh | ||
| Hmm, someone's passing NULL instead of STRINGNULL | 03:08 | ||
| Found two places | 03:09 | ||
| dukeleto | naughty nellies | 03:10 | |
| Andy | It's existing code | 03:13 | |
| in Parrot | |||
|
03:14
bubaflub left
|
|||
| Andy | let's see how that goes | 03:16 | |
| dalek | rrot: 7c64447 | petdance++ | src/ (2 files): pass STRINGNULL to Parrot_io_open_handle, not NULL |
||
|
03:21
soh_cah_toa left
|
|||
| cotto | ~~ | 03:22 | |
| the system works | 03:23 | ||
| wootsauce | |||
| dukeleto | cotto: good to hear | 03:25 | |
| Andy | yay looks fixed | ||
| dukeleto | Andy++ # jitterbug smiles upon your code | ||
| Andy++ # fixing obscure bugs | |||
| Andy | I haven't fixed anything. | ||
| I made a bug. | |||
| dukeleto | Andy: fine. Andy-- | 03:27 | |
| Andy | :-P | ||
| I'm just hoping that eventually it will catch actual bugs. | |||
| dukeleto is just glad that jitterbug is being useful | |||
| at least to me, it is | |||
| Andy | what's jitterbug | ||
| KaeseEs | it's a dance, see; you if anyone should be familiar with it :) | 03:28 | |
|
03:32
simcop2387_ joined
03:33
simcop2387 left,
simcop2387_ is now known as simcop2387
03:34
mikehh joined
|
|||
| dukeleto | Andy: jitterbug is running at new.leto.net:3000/ | 03:38 | |
| cotto | dukeleto, are your slides online? | ||
| dukeleto | Andy: it lives at github.com/franckcuny/jitterbug | 03:39 | |
| cotto: yeps | |||
| Andy: github.com/leto/presentations/raw/...W/pres.pdf | |||
| that is a presentation I just gave yesterday at LinuxFestNW | |||
| Andy: it is basically a smoker with a pretty web interface (written in Dancer) | 03:42 | ||
| Andy: but it is unique because it wants to know how to run any languages tests. Jitterbug is language-agnostic, and dare I say, Acmeist. | |||
|
03:44
hudnix left
03:48
hudnix joined
03:53
Andy left
03:58
particle1 joined,
eternaleye_ joined,
AzureSto_ left,
dalek left,
eternaleye left,
varta left,
arnsholt_ joined
03:59
Maddingu1 joined,
dalek joined,
perlite_ joined,
AzureStone joined,
perlite left,
perlite_ is now known as perlite,
varta_ joined,
Maddingue left,
arnsholt left,
frodwith left,
hudnix left
04:00
frodwith joined,
hudnix joined,
wagle left,
wagle joined
|
|||
| dalek | rrot: 0e40ecf | dukeleto++ | tools/dev/merge_pull_request.pl: Make merge_pull_request.pl default to parrot.git, but allow other repos to be specified |
04:01 | |
| rrot: 49d9591 | dukeleto++ | tools/dev/merge_pull_request.pl: Remove some suboptimal error handling from merge_pull_request.pl Previously, if a "git stash" failed, this script would still attempt to continue. Now, in true Klingon form, we die() instead of return() in failure. |
|||
|
04:01
particle left
|
|||
| cotto | It is a good day to return. | 04:27 | |
| dukeleto, ping | 04:33 | ||
|
04:41
hudnix left
04:46
bubaflub joined
05:28
bubaflub left
|
|||
| dukeleto | cotto: pong | 05:39 | |
| dukeleto had such a good run he is icing his ankle | |||
| dalek | rrot: cfc4afe | dukeleto++ | tools/dev/merge_pull_request.pl: Add more docs to merge_pull_request and allow a branch name to be specified |
05:51 | |
| cotto | dukeleto, I think it makes sense in M0's bytecode format to put the constant for each segment before the size. Have you started on that part yet? | ||
| dukeleto, also, I see in the spec that I do use chunk names in the binary format. I forgot about that when we were talking earlier. | 05:52 | ||
| dalek | rrot/m0-spec: 2abb2f4 | cotto++ | docs/pdds/draft/pdd32_m0.pod: put the constant for each M0 segment type at the beginning of the segment |
05:55 | |
| rrot/m0-spec: c40920f | cotto++ | docs/pdds/draft/pdd32_m0.pod: add values for segment number constants |
|||
| rrot/m0-spec: f8397af | cotto++ | docs/pdds/draft/pdd32_m0.pod: make order of chunk dir consistent with the rest of the spec |
|||
| rrot/m0-spec: 0ec0240 | cotto++ | docs/pdds/draft/pdd32_m0.pod: be more explicit about the meaning of offsets in the M0 spec |
|||
| rrot: 8c20c2a | dukeleto++ | tools/dev/ (43 files): Update tools/dev README and +x executables |
|||
| dukeleto | cotto: do you want to update the hello.m0 ? I don't quite understand what you mean, but if you change hello.m0 to your liking, then I will understand | 05:57 | |
| cotto | dukeleto, deal | 05:58 | |
| actually, I don't need to. The changes only have an effect on the binary representation. | 05:59 | ||
| dukeleto | cotto: ah. well I need to generate the binary representation, so I need to know what you mean. | ||
| cotto | Interestingly, I find myself implementing a very dumbed-down assembler to test the interp. | ||
|
06:00
theory left
|
|||
| dukeleto | cotto: so what you meant above was that the constant for each segment before the size, in the binary representation ? | 06:00 | |
| cotto: do you have any binary bytecode crafted yet? | |||
| cotto | yes | ||
| no | |||
| I'm writing some tests that'll generate very simple m0b files. | |||
| dukeleto | cotto: i think i understand everything about parsing M0 source, but there are still some unknowns about generating the binary representation | 06:01 | |
| cotto | fire away | ||
| dukeleto | cotto: can you change the spec to reflect what you mean by "put the constant for each segment before the size" ? | ||
| cotto: perhaps that will enlighten me | |||
| cotto | dukeleto, I did | 06:02 | |
| dukeleto, github.com/parrot/parrot/commit/2abb2f4f0f | |||
| dukeleto | cotto: ah, i am blind, evidently | 06:04 | |
|
06:06
davidfetter left
|
|||
| dukeleto | cotto: ok. once I wrap my head around opcode_t, I should be set | 06:07 | |
| cotto | That needs a bit of thought. Originally I thought that it'd be either 4 or 8 bytes, but I'm not sure if there's a good reason not to say it'll always be 4 bytes. | 06:10 | |
| dalek | rdinal: 5b7ce29 | (Kim, Daehyub)++ | Rakefile: Add new rake tasks \t* tags:gen_option # Generate ctags option file \t* tags:vi # Generate tags for vim |
06:11 | |
| rdinal: 2a2e98f | (Kim, Daehyub)++ | .gitignore: Ignore tags and ctags_opt |
|||
| rdinal: a845a97 | (Kim, Daehyub)++ | README: convert to rdoc format and modify some examples |
|||
| rdinal: f200ead | (Kim, Daehyub)++ | README (2 files): convert to rdoc format and modify some examples |
|||
| rdinal: c4f4a68 | (Kim, Daehyub)++ | /: Merge branch 'master' of github.com:lateau/cardinal |
|||
| rdinal: 7ac6cd1 | (Kim, Daehyub)++ | README.rdoc: typo |
|||
| rdinal: a2000f5 | (Kim, Daehyub)++ | README.rdoc: typo |
|||
| rdinal: 6b60c2c | (Daehyub Kim)++ | README.rdoc: modify build section |
|||
| rdinal: 9ce1198 | (Daehyub Kim)++ | Rakefile: block in top error in ruby1.9 * a block tried to return false in top level Rakefile:276 * it can be running with 1.8 but it will be aborted with 1.9 Fix: * modify 'return' to 'abort' * add some config error messages * some paths is in $location hash now for easy maintenance |
|||
| cotto | oh my | ||
| rdinal: 2737c76 | dukeleto++ | / (4 files): Merge pull request #4 from lateau/master. Add rake tasks and convert README to rdoc |
|||
| dukeleto | well, then. | ||
| cotto | I guess we can call cardinal "not dead". | 06:12 | |
| dukeleto | cotto: indeed. | ||
| cotto: now I can get to M0 hacking :) | 06:13 | ||
| cotto | woot | 06:14 | |
| dukeleto, I'm realizing that the dependency between the offsets in the directory segment and those in the chunk directory make the binary format a little trickier to generate than it needs to be. Thoughts? | 06:15 | ||
| The information in the chunk directory is redundant. If it doesn't make someone's life easier, there's no reason for it to exist. | 06:17 | ||
| dukeleto | cotto: i say we kill the redundancy, then. | ||
| cotto | wfm | ||
| dukeleto | cotto: also, i think we need an "m0 bytecode version" | 06:18 | |
| cotto: even if it only changes 1, ever, it would be nice to know which M0 code is version 0 and which is version 1 | |||
| cotto: for instance, if we add an op in a year or two | |||
| cotto: it would be nice to differentiate between the old M0 and the new M0 | |||
| s/changes 1/changes once/ | 06:19 | ||
| cotto: thoughts? | |||
| cotto | gone | ||
| dalek | rrot/m0-spec: 0e933dc | cotto++ | docs/pdds/draft/pdd32_m0.pod: nuke chunk directory segment from m0 spec |
||
| cotto | dukeleto, I'm resistant to the idea, but only because it implies that we expect M0 to change. If we enforce that it'll only do so under unusual circumstances, it doesn't sound like a bad idea. | 06:21 | |
| s/enforce/emphasize/ | |||
|
06:23
birdwindupbird joined
|
|||
| dukeleto | cotto: sure. I don't *want* to add an op to M0 unless there is a really good reason. | 06:23 | |
| cotto: but adding a version gives us insurance against it, and is seemingly free. | |||
| cotto: not insurance against it, but insurance for dealing with it properly | |||
| cotto | dukeleto, you're quite correct. We don't want to be up a creek if adding an op becomes a really good idea. | 06:24 | |
| dukeleto | cotto: that is what I am thinking | ||
| cotto: adding a version takes up one byte and is essentially free. It could save us a lot of trouble in the future. | |||
| cotto: i assume that things like the GC or JIT may want an op in the future, for performance reasons. But we should only do that if the WIN is quite big. | 06:25 | ||
| cotto | dukeleto, go for it! | ||
| sorear | how certain are you that the current design of m0 is correct? | ||
| dukeleto | cotto: hokey dokey | ||
| sorear: define correct | |||
| sorear | is there any chance that when you try to actually use it, you'll discover a critical flaw that requires a change? | 06:26 | |
| dukeleto | sorear: can one say that the design of perl 6 is correct? Can you say that the design of any language is correct? | ||
| sorear: well, we are deep into a series of prototypes | |||
| cotto | sorear, that's what we're starting to do now, for just that purpose | ||
| dukeleto | sorear: each prototype solves more of that problem you speak of | ||
| sorear: our current prototype will actually parse M0 source code and generate binary bytecode | 06:27 | ||
| cotto | well, continuing | ||
| dukeleto | sorear: so if anything is cattywompus, we should know soon. | ||
| sorear: you ask a good question, I just like to get all meta and crap | |||
| cotto: i am thinking of adding something like ".version 0" before the first chunk, and that will be represented by a single byte, perhaps the initial byte, in the binary representation | 06:29 | ||
| cotto: sound reasonable? | |||
| cotto: i don't quite care where that info goes in the binary representation | |||
| cotto: is there a better place other than the initial byte? Seems reasonable. Then you can just parse the first byte and know which version you are dealing with | 06:30 | ||
| cotto | dukeleto, I'd put it after the magic number, but that sounds fine | ||
| dukeleto | cotto: sure, I was thinking about the magic number. Do we have one? | ||
| cotto | I was just going to copy/tweak what we use for pbc | 06:31 | |
| haven't done it yet | |||
| dalek | rrot: 2d5cedf | dukeleto++ | tools/dev/merge_pull_request.pl: Fix a braino in merge_pull_request.pl |
06:32 | |
| cotto | those brainographical errors are rough | 06:33 | |
|
06:34
mtk left
|
|||
| dukeleto | yeah, that bug was subtle because it was syntactically correct, but I accidentally overwrote the wrong variable | 06:35 | |
| brainographical is a great word | |||
|
06:39
UltraDM joined
|
|||
| dukeleto | UltraDM: howdy | 06:40 | |
|
06:40
mtk joined
|
|||
| dukeleto | cotto: is there a bug in the "metadata segment" section of M0? should line 465 read : "line" is 23 | 06:42 | |
| cotto: instead of: "line" is 3 | |||
| UltraDM | hi dukeleto | 06:43 | |
| cotto | dukeleto, good catch | 06:44 | |
| dukeleto++ | 06:45 | ||
|
06:45
mj41 joined,
woosley left
|
|||
| dukeleto | UltraDM: welcome to #parrot. What can we help you with? | 06:46 | |
| UltraDM | dukeleto, thanks, nothing for the moment, I'm just lurking | ||
| dukeleto | UltraDM: sounds good. Let me know if you want to unlurk :) | ||
| UltraDM | sure, thanks :P | 06:47 | |
|
06:48
jsut_ joined
|
|||
| cotto | We encourage unlurking. | 06:48 | |
|
06:52
jsut left
|
|||
| dalek | rrot/m0-prototype: d29c900 | cotto++ | t/m0/m0bgen.t: add a minimal m0b generation framework The code generates superficially valid M0 bytecode, but doesn't contain any meaningful code. The purpose of this code is to have a reliable way of generating verifiable M0 bytecode without having to hand-hack binary files. Hopefully this will be a better alternative once it's working. |
06:56 | |
| rrot: 5ca66d3 | fperrad++ | t/pmc/boolean.t: [PMC] add test for is_equal for Boolean PMC |
|||
| cotto | fperrad++ | 06:58 | |
| and dukeleto++ for agitating | |||
|
06:58
fperrad joined
|
|||
| dalek | rrot/m0-prototype: 5bba114 | cotto++ | t/m0/m0bgen.t: add TODOs for some of the more gaping holes in m0b generation tests |
07:02 | |
| cotto | dukeleto, before I pass out, do you think it's a good idea to use 4-byte values on all platforms or should we do what pbc does and be more platform-specific? | 07:03 | |
| dukeleto | cotto: hmmm. hard to say. what are we trying to optimize for? | 07:04 | |
| cotto | dukeleto, not crippling performance on some platforms | 07:05 | |
| dukeleto | cotto: what exactly does PBC do to help that? | 07:06 | |
| cotto | I think opcode_t is different on x86 and x86_64 | ||
| dukeleto | cotto: i think we should think about this a bit more, and probably ask on parrot-dev for enlightening comments | 07:07 | |
| cotto: i would need to sleep on it | |||
| dalek | rrot/m0-spec: 7510a95 | dukeleto++ | docs/pdds/draft/pdd32_m0.pod: Fix an error in the example about M0 metadata |
07:08 | |
| cotto | dukeleto, that's exactly what I'll do. | 07:11 | |
| dukeleto, don't forget to add a version number | |||
| 'night | |||
|
07:11
SHODAN joined
|
|||
| dukeleto | cotto: on it | 07:12 | |
| dalek | rrot/m0-prototype: 3ccfae3 | dukeleto++ | src/m0/m0_assembler.pl: Add the current list of m0 opcode numbers to the DATA section of the assembler |
07:13 | |
| cotto | bam | 07:16 | |
| dalek | rrot/m0-spec: ef39d4b | dukeleto++ | docs/pdds/draft/pdd32_m0.pod: Add a description of the M0 version number and add info to the implementation section |
07:20 | |
|
07:53
jrt4__ left
|
|||
| ingy | dukeleto++ # Acmeist | 08:12 | |
|
08:14
ShaneC joined
|
|||
| dukeleto | ingy: ;) | 08:15 | |
| ingy | dukeleto: does jitterbug crossever with testml at all? | 08:17 | |
| *crossover | 08:18 | ||
| bacek | ~~ | 08:24 | |
|
08:25
birdwindupbird left
08:57
UltraDM left
09:36
rhebus joined
09:41
contingencyplan left
10:05
Coke left,
PacoLinux left,
ambs joined,
Coke joined
10:18
fperrad_ joined
10:22
fperrad left,
fperrad_ is now known as fperrad
|
|||
| moritz | trac doesn't know about version 3.3.0 | 10:25 | |
| could somebody please fix that? KTHXBYE | 10:26 | ||
| dalek | TT #2104 created by moritz++: recent parrot changes broke rakudo | 10:27 | |
| TT #2104: trac.parrot.org/parrot/ticket/2104 | |||
|
10:34
woosley joined
10:44
PacoLinux joined
11:24
fperrad_ joined
11:27
fperrad left,
fperrad_ is now known as fperrad
11:36
UltraDM joined
|
|||
| moritz | trac.parrot.org/parrot/ticket/2104 <-- does that mean that rakudo is using NULL instead of PMCNULL in its C source files? | 11:52 | |
|
11:57
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
11:58
lucian joined
12:01
lateau joined
12:21
lucian_ joined
12:26
lucian left
12:34
bubaflub joined
12:47
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:49 | |
| moritz | good morning whiteknight | 12:50 | |
| whiteknight: in case you haven't backlogged, trac.parrot.org/parrot/ticket/2104 describes the cause or trigger for the rakudo bugs | 12:51 | ||
|
13:00
hudnix joined
13:01
bluescreen joined
13:10
ambs left
13:16
lateau left
13:20
rhebus left
|
|||
| whiteknight | moritz: yes, I saw that | 13:34 | |
| moritz: I need to research that commit to figure out why it would be so troublesome for Rakudo | |||
| I have to suspect that somewhere Rakudo is relying on NULL instead of PMCNULL/STRINGNULL | 13:35 | ||
| moritz | I've found some instances of that | 13:36 | |
| PerlJam | whiteknight: could be. There are lots of places in Rakudo that use NULL | ||
| moritz | not too many | ||
| PerlJam | (only some of which deal with PMCs) | ||
| moritz | oh | 13:37 | |
| whiteknight | in terms of PMCs, you should always be using the PMC_IS_NULL macro instead of "if (foo == NULL)" | ||
| moritz | src/binder/bind.c has lots of | ||
| whiteknight | again I'm not certain that's the problem, but I suspect it | ||
| moritz | static STRING *ACCEPTS = NULL; | ||
| but you can't change that to STRINGNULL | |||
| whiteknight | why not? | ||
| moritz | because then the compiler complains that the initialization is not constant | ||
| whiteknight | oh right. | 13:38 | |
|
13:38
woosley left
|
|||
| whiteknight | bummer | 13:38 | |
| I have no problem pulling that commit back out. We can work on it later | 13:39 | ||
| If anybody with a commit bit wants to pull it out into a branch for further testing, that would be great. I can't do it myself right now | |||
| moritz | you mean revert in master, and re-apply in a branch? | 13:43 | |
| whiteknight | if that's not too hard, yes | 13:46 | |
| moritz | not hard at all | ||
| whiteknight | We don't want that commit to disappear, we just want it somewhere besides master so we can study it more | 13:47 | |
|
13:47
lucian_ left
|
|||
| moritz | pushed to pmcnull_annotations | 13:47 | |
|
13:48
benabik left
|
|||
| whiteknight | awesome. moritz++ | 13:48 | |
| moritz | I'll comment on the ticket, and write a mail to the mailinglist | 13:49 | |
| whiteknight | thanks! | ||
| dalek | rrot: 1149c70 | moritz++ | / (2 files): Revert "now that PMCNULL is not NULL, we can update function annotations" This reverts commit c1f77f7eb90041468c3b13f5b48ae2ca1d1c37a5. It broke several rakudo spectests, see TT #2104 |
13:51 | |
| moritz | who can add version tags to trac? 3.3.0 is missing | ||
|
13:55
lucian joined
|
|||
| whiteknight | moritz: I'll look at it | 14:11 | |
| moritz | ++whiteknight | ||
| whiteknight | under the milestone heading? | 14:12 | |
| moritz | ticket, 'Change Properties', the "Version:' field | 14:13 | |
| whiteknight | fixed | 14:15 | |
| moritz | whiteknight++ | ||
|
14:19
mtk0 joined,
mtk left
14:33
bubaflub left
14:35
lucian_ joined
14:39
lucian left
14:41
Andy joined
14:59
benabik joined
15:01
bubaflub joined
15:07
contingencyplan joined,
theory joined
|
|||
| moritz | is there an easy way to create function in src/binder/bind.c in rakudo that's called on startup? | 15:10 | |
| whiteknight | what do you mean, like a C-level function? | 15:11 | |
| moritz | yes | ||
| whiteknight | in your compiler driver, make an NCI wrapper PMC for it. then invoke that | 15:12 | |
| that's the best I can think about | |||
| moritz abandons the idea | |||
| whiteknight | alternative would be a custom dynop that calls that function | 15:13 | |
|
15:13
rhebus joined
|
|||
| whiteknight | we have things like exit handlers, though they aren't used often and are probably broken | 15:14 | |
| we don't have anything like startup handlers | 15:15 | ||
| although if you aren't afraid of C and don't mind writing your own fakecutable fronend, you could probably insert some custom logic to run after the interp is created but before code is executed | |||
| moritz is afraid of C | 15:16 | ||
| I was looking for a quick-ish fix for this STRINGNULL initialization thing | |||
| dukeleto | ~~ | ||
| startup handlers sound pleasant | |||
| moritz: why did the STRINGNULL commit need to be reverted? | 15:17 | ||
| whiteknight | dukeleto: broke rakudo | ||
| moritz | dukeleto: please read the ticket and the mail to the mailing list | 15:18 | |
| and the commit message (it refers to the ticket) | |||
| dukeleto | moritz: ah. I just woke up and haven't seen the trail of blood. | 15:19 | |
|
15:20
rohit_nsit08 joined
|
|||
| rohit_nsit08 | hello #parrot | 15:20 | |
| dukeleto | rohit_nsit08: greetings | ||
| rohit_nsit08 | dukeleto: hi | ||
| moritz swings his battle axe | 15:21 | ||
| hi rohit_nsit08 | |||
| rohit_nsit08 | coke_: ping | ||
| moritz: hi | |||
|
15:24
UltraDM left
|
|||
| dukeleto gets on a train | 15:30 | ||
| plobsing_ | moritz: parrot has a mechanism for running functions at loadtime of a dynamic library. if Parrot_lib_${libname}_load and/or Parrot_lib_${libname}_init exist, they will be executed. | 15:31 | |
|
15:32
rohit_nsit08 left,
bluescreen left
15:41
rohit_nsit08 joined
15:49
lateau joined,
lateau left,
lateau joined
15:56
dod left
16:23
bubaflub left
|
|||
| cotto_work | ~~ | 16:24 | |
| dukeleto | plobsing_: is that documented anywhere? | 16:28 | |
|
16:36
mj41 left
16:37
benabik left
16:38
dodathome joined
|
|||
| coke_ | . | 16:46 | |
|
16:47
rohit_nsit08 left
16:48
davidfetter joined
|
|||
| coke_ | msg rohit_nsit08 sorry I missed you - if you can't find me on IRC, ping me on email. (I can give you my googlevoice # also for texts.) | 16:50 | |
| aloha | OK. I'll deliver the message. | ||
|
16:51
lucian joined,
dmalcolm joined
16:53
lateau left
16:54
lucian_ left
|
|||
| coke_ | #ifdef HAVE_USR_INCLUDE_MALLOC_H | 17:02 | |
| # include "/usr/include/malloc.h" | |||
| #else | |||
| from src/gc/malloc.c - that should be include <>, not include "", methinks. | |||
| whiteknight | no, <> is for standard library only | 17:05 | |
| that looks like a mechanism to allow a custom malloc replacement | |||
| coke_ | how is "/usr/include" not stdlib? | ||
| whiteknight | is that where stdlib includes are on all unixy systems? | 17:06 | |
| PerlJam | all the unixy systems I've ever used. | ||
|
17:07
rohit_nsit08 joined
|
|||
| PerlJam | Though I suppose there are some that look in /opt/include or something | 17:07 | |
| coke_ | one wonders why we're putting the path in at all there, and not just getting whatever the default malloc.h is. In any case, it came up because checkdepend.t is trying to find that header so it can scan it for deps. | ||
| whiteknight | parrot used to ship with a custom version of malloc in src/gc | ||
| coke_ | (and it's failing) | ||
| whiteknight | I'm certain that line is somehow related to that | ||
| sorear | whiteknight: bzzzt, fixincludes | 17:08 | |
| whiteknight | sorear: ? | ||
| sorear | sometimes the correct stdlib headers are in /usr/local/lib/gcc/4.x.y/include | ||
|
17:08
benabik joined
|
|||
| NotFound | ~~ | 17:09 | |
| sorear | generally when /usr/include/whatever uses gcc-incompatible syntax on "real" Unix systems with a vendor-specific cc | ||
|
17:22
lucian left
17:23
bubaflub joined
|
|||
| dalek | p/ctmo: 5e5c46f | jonathan++ | src/stage0/ (6 files): Update bootstrap with latest changes. |
17:34 | |
| p/ctmo: d2f7759 | jonathan++ | src/pmc/dispatchersub.pmc: Ensure DispatcherSub is properly initialized. |
|||
|
17:39
davidfetter left
|
|||
| cotto_work | www.fructoselang.org/ - compile a subset of Ruby to PHP | 17:40 | |
|
17:44
rohit_nsit08 left,
rohit_nsit08 joined
17:46
ShaneC left
17:54
rohit_nsit08 left
18:00
benabik left
18:04
rohit_nsit08 joined
18:05
benabik joined
|
|||
| dalek | nxed: r967 | NotFound++ | trunk/winxedst1.winxed: fix a problem when using multi return syntax and function arguments, Issue 23, |
18:11 | |
| whiteknight | NotFound++ | ||
| NotFound | whiteknight: Can you check the .* operator? I don't have any relevant example at hand. | 18:12 | |
| whiteknight | NotFound: I can when I get home. | 18:13 | |
| NotFound: yesterday soh_cah_toa was having some troubles with "make install" for Winxed | 18:19 | ||
| the command was failing for him, I don't remember how | |||
| cotto_work | That's no good. | 18:20 | |
| NotFound | It works for me right now, | 18:21 | |
|
18:22
ShaneC joined
|
|||
| NotFound | Out of mem? Amazing. | 18:23 | |
|
18:28
mj41 joined
18:34
hercynium joined
18:48
Maddingu1 is now known as Maddingue
|
|||
| whiteknight | I'm not sure I understand why people still work on GNU Hurd | 18:49 | |
| benabik | whiteknight: AFAICT, people still _argue_ about HURD. | 18:50 | |
| I'm not sure any work has been done on it in a long time. | |||
| coke_ | whiteknight: that is a hilarious statement coming from someone on the parrot team. just fyi. | 18:53 | |
| whiteknight | I wouldn't consider the TODO list for parrot quite so monumental, and I wouldn't call our workforce quite so small in comparison to it | 18:54 | |
| benabik: apparently a bounty system was set up for Hurd, so people can donate money to facilitate development | |||
| benabik: I have to assume there are developers who intend to receive money | |||
| PerlJam | I'll take any money you want to throw my way ;) | 18:55 | |
| whiteknight | and it looks like GNU Hurd is participating in GSoC | ||
| benabik | whiteknight: I guess they abandoned the L4/Cyotos ideas? When last I checked, they had gotten caught up in arguing about security and what kernel was better. | ||
| I was fascinated by Hurd for a while... Then I found MINIX. Then I decided I don't have enough free time to make either really worth while. | 18:56 | ||
| whiteknight | benabik: it looks to me like one guy is talking about moving it to viengoos, and the rest of people are still working on Mach | 18:57 | |
|
18:59
Coke left
|
|||
| PerlJam | coke_: Are you saying that parrot is the new hurd? | 18:59 | |
|
18:59
Coke joined
19:01
ShaneC left
19:05
Coke__ joined,
Coke left
|
|||
| whiteknight | Hurd is an interesting concept but it doesn't really do much differently from linux, and has no hopes of ever catching up to the state of linux | 19:07 | |
| And I know RMS would love nothing more than to bury linux and dance on the grave, but that hardly seems like motivation | |||
|
19:11
TiMBuS left
19:12
davidfetter joined
|
|||
| coke_ | PerlJam: I was referring more to number of years under development without widespread adoption. | 19:16 | |
| PerlJam | coke_: as long as you don't think we're doomed to repeat history or something. | 19:19 | |
| coke_ | I refuse to speculate the exact nature of our doom. | 19:20 | |
| cotto_work | We have a number of options to choose from. | 19:21 | |
| cotto_work goes out for noms | |||
| dukeleto | who groks set_hll_global ? | 19:29 | |
| Rakudo uses it to set their $*PROGRAM_NAME (which is equivalent to $0 in Perl 5) | 19:30 | ||
| atrodo | whiteknight> hurd is a nice concept, and if someone sat down and really wrote out a well performing base, it could probably catch on some more | ||
| But, it appears no one cares about it enough to do anything | 19:31 | ||
| tadzik | would you say that about Perl 6 too? | ||
| you actually could: a nice concept, but no one really wrote a well performing base | 19:32 | ||
| dukeleto | seemingly, set_hll_global only creates read-only values | ||
| which is suboptimal | |||
| so I guess what I am asking is: how do I create writable global HLL variables? | |||
|
19:35
TiMBuS joined,
bubaflub left
19:37
benabik left
|
|||
| dukeleto feels a little dirty every time he reads the source of the Namespace PMC | 19:42 | ||
| seems like the set_hll_global finally boils down to set_pmc_keyed_str on the Namespace PMC, where everything gets cattywompus | |||
| whiteknight | yeah, we really need to "fix" that with fire | 19:43 | |
| NameSpace is a travesty | 19:44 | ||
| dukeleto | a travesty of travesties | 19:47 | |
| whiteknight | it really is as bad as can be. I can't think of a worse way to store that kind of information | 19:49 | |
| I don't want to put in a deprecation notice for it until we have a superior design lined up. | 19:51 | ||
| coke_ | \\o/ | ||
| whiteknight | And I suspect it's not just a matter of superior design, but we might actually have to change the PIR interface, which I'm sure people will not be happy about | ||
| jnthn__ | whiteknight: new nqp has stopped using NameSpace. Rakudo will very soon. | 19:52 | |
| coke_ | dukeleto: do you have a small PIR file that demonstrates the readonly problem? | ||
| jnthn__: are you rolling your own namespace? | |||
| jnthn__ | coke_: "namespace" | ||
| whiteknight | jnthn__: I don't know if that's one fewer thing to worry about, or whether it's depressing that our biggest user has been driven away from it | ||
| jnthn__ | The long story short is that Perl 6 doesn't really have a concept of global packages. | 19:53 | |
| Every time you start compiling a new compilation unit it needs a completely fresh view | |||
| Anyway, we don't actually need namespaces per se in Perl 6. The stash just hangs off the package. | 19:54 | ||
| where by package I mean type object | |||
| The other issue is that Perl 6 wants to have lexical packages | |||
|
19:55
eternaleye_ is now known as eternaleye
|
|||
| jnthn__ | It wasn't so much that Parrot's NameSpace PMC drove me away. It was more that trying to do the semantics Perl 6 actually wants using it woulda been more code and hassle than just hanging a hash off the type object. | 19:55 | |
| And then things like lexical packages just Magically Work because the type object is installed as a lexical rather than in some other package. | 19:56 | ||
| Anyway, I didn't mean it as criticism of Parrot, I meant it in the "one less thing to worry about". | 19:57 | ||
| whiteknight | jnthn__: I *do* mean it as a criticism of Parrot. Our NameSpace PMCs are hideous | 19:58 | |
| jnthn__ | whiteknight: I did end up inside there some times before, and yes, there's some nastiness there for sure. | ||
|
19:59
rohit_nsit08 left
|
|||
| whiteknight | they're another component which has never been designed. They've been tweaked and added to organically over the years, and the result is quite discouraging | 19:59 | |
| jnthn__ | whiteknight: But that wasn't why I moved away from using it. If it was a case of "just needs some fixing up" I would have been inclined to try and do so. | 20:00 | |
| whiteknight | oaky | ||
| so that's good to know that it's not actively driving away users | |||
| jnthn__ | I suspect the model Parrot uses for namespaces is probably fine for many language's needs. | 20:01 | |
| Even if the implementation is crufty. | |||
| whiteknight | Even the model needs major fixing. It's too magical | ||
| jnthn__ | I think the way that classes and namespaces mix in Parrot just needs to die, but I"ve said that many times before. :) | ||
| whiteknight | jnthn__: On a related note, I wanted to talk to you about 6model. | 20:02 | |
| jnthn__ | whiteknight: OK :) | ||
| Any particular aspect of it? | |||
| whiteknight | The task that was next up on my todo list has been shelved, so the next big thing in my sights is to get 6model into Parrot | ||
| jnthn__ | Aha | ||
| whiteknight | I was thinking I had a few months before that, but the schedule has changed and I don't have anything else ready for immediate coding | 20:03 | |
| jnthn__: So is now a good time to begin that work? | |||
| I wouldn't want to be chasing it around if 6model were still in a big state of flux | 20:04 | ||
| jnthn__ | It's slushy, more so in some places than others. | 20:05 | |
| Some things haven't changed in months. | |||
| Some things are still kinda missing or need tweaking. | |||
| I don't expect the underlying design to change. | 20:06 | ||
|
20:06
jrt4__ joined
|
|||
| jnthn__ | But I know that the Rakudo-on-6model effort that I'm going to be starting on this week will drive some changes. | 20:06 | |
| I expect that to for the large part be extension though. | |||
| whiteknight: I think now is probably fine to start planning out the work and working out the various stages that it would go through. | 20:08 | ||
| whiteknight | jnthn__: okay, so Rakudo is moving to 6model starting this week? | ||
| jnthn__ | The *hard* transition will be how PMCs and 6model go together. At the moment 6model is encapsulated inside some PMCs. But really it wants to be more primitive than them. | ||
| whiteknight: I'm starting the work on moving it to 6model this week, yes. | |||
| I'm just about done in NQP. | 20:09 | ||
| whiteknight | jnthn__: okay, I'm going to start digging into the code and putting a real plan together | ||
| jnthn__ | whiteknight: OK, sounds good. | ||
| whiteknight | I won't start actual coding for some time | ||
| jnthn__ | whiteknight: First is probably to understand what 6model is/does and, more importantly, doesn't do. | ||
| whiteknight: The core is *really* minimal. | 20:10 | ||
| whiteknight | yeah | ||
| I suspect we are going to need some major deprecation boundaries, especially for bits of the object model that we do not want to cargo cult into the new system | 20:11 | ||
| jnthn__ | I suspect you're going to want to write some "default" meta-objects for Parrot users too. | ||
| whiteknight | I'm planning to get 6model in to Parrot in parallel with our current mop. That implementation likely will disallow inheritance from built-in PMC types until we can get that mechanism sorted out correctly | 20:12 | |
| jnthn__: yes. I'm hoping to do some of that work in parallel with the JS and Python3 compiler projects for GSoC | |||
| jnthn__ | OK | ||
| Because in the core 6model doesn't know what, e.g. a class is. :) | |||
| whiteknight | right | ||
| jnthn__ | I stand by my feeling that languages really should expect to write their own meta-objects at some point, out of the 6model building blocks. Just like we provide them a bunch of building blocks to do their grammar. | 20:13 | |
| whiteknight | in the general case that's not a bad idea, but Parrot can offer at least a handful of reasonable defaults | ||
| jnthn__ | Right. :) | ||
| For its own internal stuff too. | |||
| whiteknight | are meta-classes wrapped up in PMCs? | ||
| if so, that provides a very natural way to subclass and provide a custom implementation | 20:14 | ||
| As much as possible I like to insulate our users from C. | |||
| We do the C so our users shouldn't have to :) | |||
| jnthn__ | Yes, meta-classes are, but only because they're objects and objects are. | ||
| whiteknight | okay | 20:15 | |
| jnthn__ | There's no "meta-class PMC" | ||
| whiteknight | okay | ||
| jnthn__ | There's just SixModelObject. That's the only thing that should ever be held in userspace | ||
| whiteknight | one other question I want to ask you is about code synchronization. I think it would be a big shame if our implementation diverged too far from the Rakudo/NQP implementation of it | 20:16 | |
| jnthn__ | There are STable and REPR PMCs but they're infrastructural/internals. | ||
| whiteknight | but I'm not sure what kind of reasonable mechanism we could use to keep them together | ||
| coke_ | same thing we do today with nqp-rx^W2^W ? | 20:17 | |
| jnthn__ | whiteknight: I'd hope that the end result of this is that all that's in the NQP and Rakudo repo are meta-objects. | ||
| whiteknight: If you want the 6model core in Parrot, then there should be no need for two implementations. | 20:18 | ||
| whiteknight | jnthn__: We definitely do want the core of it in Parrot, yes. But don't you need to keep something separate to support your other VM targets? | ||
| I don't want to pull the rug out from under you | |||
|
20:19
rohit_nsit08 joined
|
|||
| whiteknight | jnthn__: and that raises another question, if we are going to move it into Parrot and you are going to be using our version directly from NQP/Rakudo, are you going to want to be personally involved in the migration work? | 20:19 | |
| I would hate to be making design decisions that negatively impact your needs | 20:20 | ||
| jnthn__ | whiteknight: Nothing in the core implementation of 6model on Parrot is related to VM interop. | ||
| whiteknight | okay | 20:21 | |
| dukeleto | coke_: it is a bug in Rakudo : rt.perl.org/rt3/Public/Bug/Display.html?id=89704 | 20:22 | |
| jnthn__ | The interop comes because 6model always has a concept of "create a type object" or "make an instance" or "find a method" on whatever VM it runs on. | ||
| dukeleto | coke_: seemingly when Rakudo binds to a global with ":=" | ||
| jnthn__ | But that's just a "compiler switch" | ||
| e.g. the "abstraction layer" vanishes in the process of code generation. | 20:23 | ||
| whiteknight: And yes, I'd like to be involved. | |||
| whiteknight | jnthn__: What I'm going to do now is read code like a madman, and start coming up with a detailed plan of attack. I'll run it past you before I start doing anything | ||
| jnthn__ | whiteknight: I'm happy to answer questions, of course. And to explain things. | ||
| whiteknight: *The* headache file is knowhow_bootstrapper.c. | 20:24 | ||
| whiteknight | We're obviously going to need at least one deprecation boundary before 6model becomes the default. Maybe more than one | ||
| jnthn__ | *The* helpful file is sixmodelobject.h. :) | ||
| whiteknight | ok, I'll keep that all in mind | ||
| jnthn__ | Oh, at the moemnt NQP's multi-dispatcher is tied up in the 6model core. Ignore it. | 20:25 | |
| whiteknight | jnthn__: okay | ||
| jnthn__ | (e.g. multi_dispatch.c is not really 6model core...) | ||
| whiteknight | gotcha | 20:26 | |
| we can replace whatever we don't want | |||
| jnthn__ | I've been working on starting to distill out what is 6model core and what is not. | ||
| whiteknight | and make it pluggable | ||
| jnthn__ | But am only part way there. | ||
| whiteknight | Eventually I would like the MMD engine to be a pluggable PMC object, similar to how the NCI engine is | ||
| and if we can have them selected by HLL namespace, all the better | |||
| but that's a ways off | |||
| dukeleto | coke_: i am actually not exactly where the bug is, but I am leaning towards the glue between parrot and rakudo, not parrot itself | 20:27 | |
| jnthn__ | Well, multi-dispatch is another area where I wonder if Parrot can actually provide a sane default that's useful for any language. | ||
| The fact that we have an invoke v-table and anybody can put any candidate selection logic they want in place is already very helpful. | |||
| whiteknight | jnthn__: we do alright for now. But that's my point. MMD should be easy to plug in a replacement for | ||
| we do have MultiSub, but it's a bit of a pain to use and subclass | 20:28 | ||
|
20:28
dodathome left
|
|||
| dukeleto | jnthn__: i think we just hope to provide a default that gets people 80% of the way there, and then they can tweak | 20:28 | |
| whiteknight | because it's not easy to call the underlying API functions from a subclass written on top of Parrot | ||
| anyway, I have to run catch a train. I'll be back later tonight | |||
| jnthn__ | nice journey o/ | ||
| dukeleto: If "tweak" means "replace the candidate sorting algorithm", sure. :) | 20:29 | ||
| dukeleto | jnthn__: yes :) | ||
| jnthn__ | dukeleto: But that's the bulk of what MultiSub would do. :) | ||
|
20:29
whiteknight left
20:37
Andy left
|
|||
| cotto_work sees whiteknight and jnthn talking | 20:40 | ||
| backscrolling time | |||
|
20:46
rurban joined
20:53
SHODAN left
|
|||
| coke_ | as a potential PVM user, tcl (out of the box) doesn't care about objects, but does wish namespaces were better. | 20:56 | |
| (just as another data point) | 20:57 | ||
|
21:03
cogno joined
21:12
rhebus left
21:13
cogno left,
fperrad left
21:20
rohit_nsit08 left
21:22
rohit_nsit08 joined
21:24
ambs joined
21:32
ambs left
|
|||
| dalek | nxed: r968 | NotFound++ | trunk/pir/winxed_compiler.pir: update installable compiler |
21:44 | |
| rrot/jit_prototype: 287cc0f | bacek++ | compilers/opsc/src/Ops/Compiler/Structs.pm: Add more struct definitions |
21:47 | ||
| rrot/jit_prototype: 271ece1 | bacek++ | compilers/opsc/src/Ops/Compiler/Preprocessor.pm: Add VTABLE_invoke preprocessing |
|||
| rrot/jit_prototype: 422545b | bacek++ | compilers/opsc/src/Ops/Compiler/Preprocessor.pm: Refactor generating of VTABLE macros. Add PMC_data. |
|||
|
21:49
jsut joined
21:50
mj41 left
21:51
Themeruta joined
21:52
NotFound left
|
|||
| cotto_work | the robot is back online | 21:52 | |
| bacek++ | |||
|
21:54
jsut_ left
|
|||
| dalek | rrot/jit_prototype: 44dca61 | bacek++ | t/jit/jitted.ops: Add proper preamble to jitted.ops so LLVM will have a chance to generate more stuff used in jitter. |
21:58 | |
| rrot/jit_prototype: 749b11c | bacek++ | runtime/parrot/library/LLVM/Builder.pm: [llvm] Change Builder.call to accept Value instead of Function. This is required for generating pointer-to-function calls. |
|||
| rrot/jit_prototype: f44ba3e | bacek++ | runtime/parrot/library/LLVM/Type.pm: [llvm] Init struct.PMC and struct.STRING from LLVM bitcode. |
|||
| rrot/jit_prototype: accea3a | bacek++ | compilers/opsc/src/Ops/Compiler/Preprocessor.pm: Remove debug _dumper |
|||
| rrot/jit_prototype: d57dac0 | bacek++ | runtime/parrot/library/LLVM/Constant.pm: [llvm] Add Constant.int_to_ptr |
|||
| rrot/jit_prototype: a805ebc | bacek++ | compilers/opsc/src/Ops/JIT.pm: Add NULL and NEED_CONTINUATION definisions |
|||
| rrot/jit_prototype: 66dd433 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Fix debug output |
|||
| rrot/jit_prototype: aea9fbe | bacek++ | compilers/opsc/src/Ops/JIT.pm: Refactor generating of GEP to share common logic with just variable |
|||
| rrot/jit_prototype: 6716d63 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Handle 'unnamed' function calls. E.g. 'foo->bar()' is parsed as (call (keyed_arrow 'foo 'bar) ()) |
|||
| rrot/jit_prototype: 0e82ef7 | bacek++ | compilers/opsc/src/Ops/JIT.pm: More checks and debug in handling pirop<=> |
|||
| nxed: r969 | NotFound++ | trunk/winxedst1.winxed: a little cleaning of CallExpr.emit |
21:59 | ||
|
22:04
hercynium left
22:36
lucian joined
22:46
davidfetter left
22:47
whiteknight joined
|
|||
| whiteknight | Good evening, #parrot | 22:51 | |
| interesting PHP blog post, for anybody interested: blargh.tommymontgomery.com/2010/07/php-is-dead/ | |||
| "inflamatory" might be a better word | |||
|
22:56
jsut_ joined
|
|||
| lucian | whiteknight: well, he's right | 22:59 | |
| sadly, the php core team can't even write a parser | |||
| i'm not saying i can, but they really screwed up | |||
| whiteknight | PHP is an area where I sincerely believe Parrot could do a lot of good | 23:01 | |
| I mean, we already have integrated unicode support that costs nothing to utilize | |||
| that's a huge benefit | |||
|
23:01
jsut left
|
|||
| whiteknight | We offer a much more flexible subroutine dispatch mechanism including invokable objects, callbacks, continuations and coroutines | 23:02 | |
| lucian | and it'd be hard to write a parser that fails as much as PHP does at expressions | ||
| whiteknight | true | ||
| lucian | but i don't think PHP on parrot will ever be popular | ||
| PHP survives on deep, bug-for-bug compatibility | |||
| dalek | p/ctmo: 76e0641 | jonathan++ | src/HLL/SerializationContextBuilder.pm: Start working towards fixup of roles. Gets us back the first two tests, though methods in roles are still totally broken. |
||
| p/ctmo: c69b201 | jonathan++ | src/ (2 files): Fix issues relating to type parametricism of roles and compile time meta-object handling. |
|||
| bacek_at_work | ~~ | 23:03 | |
| whiteknight | lucian: PHP as it is survives that way. If people want to start using something like PHP with more features and (eventually) fewer bugs, Parrot can deliver that | 23:04 | |
| a fork of PHP that had similar syntax, more features, and a standard library that somebody accidentally put forethought into, we can provide that | |||
| without a huge team toiling for years | |||
| lucian | but does anyone honestly want that? | ||
| there are tons of clearly better languages, many of them very similar | 23:05 | ||
| whiteknight | lucian: A person who knows PHP syntax better than any other language, but wants other things improved might | ||
| lucian: if we build it, they might come | |||
| Themeruta | I think the better way is to let all languages die, and people switch to winxed ;) | ||
|
23:06
Themeruta is now known as NotFound
|
|||
| whiteknight | Themeruta: :) | 23:06 | |
| cotto_work looks up from $dayjob to see something relevant. | |||
| lucian | whiteknight: meh, i think that market is extremely small | ||
| whiteknight | lucian: I'm sure somebody said the same thing about Ruby. Who needs another general purpose dynamic language when we already have several to choose from | 23:07 | |
| lucian | i don't think you're comparing comparables | ||
| whiteknight | maybe not | ||
| NotFound | I'm starting to see a pattern: most scipting languages are born without objects because "we don't need objects for simple programs" and later they add OO in convoluted ways. | 23:08 | |
| cotto_work | I much prefer adding it in convoluted ways from the start. | ||
| or even in straightforward ways, but you can't always win | |||
| NotFound | cotto_work: yeah, that's what I do. | ||
| lucian | it's much better to have some experience with languages, and be able to decide what might be a better more complex | 23:09 | |
| s/a// | |||
| but that's hard | |||
|
23:10
davidfetter joined
|
|||
| dalek | p/ctmo: df3640c | jonathan++ | src/ (2 files): Do fixup with the vastly less evil assign rather than copy. Just happens to fix half of the broken multi-sub tests. |
23:10 | |
| NotFound | The "who needs another X" is never a compelling argument. | 23:11 | |
| lucian | NotFound: i think it depends highly on the probable answer | 23:12 | |
| NotFound | A few years ago I wrote "another" free Z80 assembler just because all the other sucked. | ||
| lucian | then the probable answer was a good argument for doing it | 23:13 | |
| NotFound | lucian: the answer usually is "me". | ||
| lucian | that's a good answer | ||
| cotto_work | NotFound++ | 23:14 | |
| NotFound | And later, people that asked the question switched to mine. | ||
| lucian | my point is that myself, i might find some use in a PHP4 & 5 on parrot, bug-for-bug compatible with zend | ||
| but forking PHP as whiteknight suggested? not really | 23:15 | ||
| cotto_work | That compatibility will be a bit^H^H^Hproblem though. PHP's test suite is weak. | ||
| lucian | PHP 6? not really either | ||
| cotto_work: indeed. it's extremely unlikely that i'd try to do it :) | |||
| NotFound | I can't answer that question, I've never seen the reason of php popularity. | ||
| cotto_work | "We've got our alternative PHP 5.3 implementation passing all core tests. Now for the other 90% of the job." | 23:16 | |
| Tene | People who are really invested in bug-for-bug compatibility wouldn't be the target market for an alternative implementation usually, I'd expect. | 23:17 | |
| whiteknight | lucian: okay, better example for you: would you believe there is a large and growing market for coffeescript, which is basically JavaScript with some improved properties? | ||
| lucian | Tene: are there others in the PHP world? | ||
| whiteknight: yes, because i've seen it | 23:18 | ||
| whiteknight | lucian: my point exactly. If we tell people that we can do PHP, but better, there might just be a market for that | ||
| lucian | Tene: they'll certainly want extensions, which'll be hard too. but that's a more general thing | ||
| whiteknight | and if not, we're hardly in a worse situation than we are no | ||
| now | |||
| lucian | whiteknight: so you want to fork PHP. just a new language that's similar | ||
| seeing PHP6 (and even 5) uptake, i'd be very skeptical of its success | 23:19 | ||
| cotto_work | The problem with forking PHP is that you're forking PHP. | ||
| NotFound | The marke will be all people that uses php as they only language (maybe with a little javascript). | ||
| cotto_work | It's a one-edged sword. | ||
| lucian | NotFound: those same people aren't even bothering with php5/6 | 23:20 | |
| whiteknight | maybe PHP5 uptake is so low because they aren't fixing any of the warts, and are adding necessary new features at a snail's pace | ||
| Tene | If you could integrate your existing PHP code base with other languages, however... | 23:21 | |
| NotFound | Looks like these days is easier to start a new language from scratch than to make a significant evolution of a existing one. | ||
| Tene | That would be very appealing to people who are looking to migrate away from PHP | ||
| cotto_work | I have to wonder what that guy's thinking when he says that PHP has the best function library of any language. The only axes on which it'd be the best would be straightforwardness and ease of use. | 23:22 | |
| Tene | Fixing a few bugs from incompatibility with original PHP could be far less work than porting an entire codebase. | ||
| NotFound | lucian: yes, but they may enjoy using other flavour of php for non web server usages. | ||
| lucian | Tene: but then you'd need compatibility again | ||
| cotto_work: i'd contest those as well. it's so incredibly inconsistent, it's not easy to use at all | |||
| also broken | |||
| Tene | Additionally, some companies have extensive test suites of their own. | 23:23 | |
| lucian | Tene: perhaps. this would depend on general uptake of alternative implementations | ||
| Tene | The company I work for wouldn't have much trouble migrating to an alternative PHP implementation, due to their extensive testing infrastructure. | ||
| lucian | there are a handful, i don't really know much about them | ||
| plobsing_ | how much bug-for-bug compat is needed to run wordpress? a lightly massaged wordpress? | 23:24 | |
|
23:24
plobsing_ is now known as plobsing
|
|||
| Tene | Additionally, bugs can be fixed as they're discovered. | 23:24 | |
| lucian shrugs | |||
| NotFound | It will be funny to file bugs for not having bugs. | 23:26 | |
| whiteknight | I've never understood the "bugs are good and must be maintained" mentality | ||
| cotto_work | NotFound++ | ||
| lucian | NotFound: you should see wine's bug tracker | ||
| whiteknight | the perl5 world is absolutely terrible with that sentiment | ||
| lucian | whiteknight: they all are. but it happens | ||
| whiteknight | "don't fix anything! Don't take away our precious bugs!" | ||
| NotFound | whiteknight: is easy, you just need to deny they are bugs. | 23:27 | |
| lucian | wine is a very good example | ||
| and windows in general | |||
| cotto_work | whiteknight: I know. Then they get all mad when you add more. | ||
| lucian | it's quite clear why the bug are important | ||
| whiteknight: important pieces of software often get abandoned | |||
| but i don't have to tell you this | 23:28 | ||
| whiteknight | lucian: wine is hardly comparable, wine is supposed to be providing windows on linux. You only do that if you have the same behavior | ||
| lucian | exactly. bug-for-bug | ||
| NotFound | Given than in win32 there are functions that return BOOL and its documented return values are 0, 1, -1 and -2, is hard to tell what's a bug and what not. | ||
| whiteknight | Wine has to always be what windows is. It's madness for new versions of PHP to be forced into preserving bugs and misfeaures of older versions | 23:29 | |
| lucian | whiteknight: it's madness for new versions of windows ... | ||
| whiteknight | you make new versions precisely to remove misfeatures and add new features | ||
| lucian: we don't have the ability nor the desire to fork windows | |||
| lucian | even in the python world where people really like cleanliness, there was a little resistance to py3 | ||
| whiteknight | lucian: I suppose that 2-5 developers could make a workable PHP compiler in two weeks or less with Parot | 23:30 | |
| NotFound | lucian: Little? | ||
| whiteknight | lucian: with new features too (although without a complete standard library) | ||
| lucian | NotFound: yeah, most reasonable people were fine with it | ||
|
23:30
dmalcolm left
|
|||
| NotFound | lucian: Reasonable people are usually a small fraction of the user base of anything. | 23:30 | |
| lucian | NotFound: i can proudly say that is not the case with python, mostly | 23:31 | |
| visiting #python is enlightening. unreasonableness gets hammered out of people | |||
| NotFound | lucian: I don't know much about the state of pyton but I've seen rants about slow adoption rate. | 23:32 | |
| lucian | whiteknight: if you could get wordpress/facebook on that, it might be interesting | ||
| whiteknight | lucian: facebook uses their own custom compilers anyway, so that's hardly a worthy target. I bet we could support wordpress in a reasonable amount of time | 23:33 | |
| lucian | NotFound: yes, there were some. and it is somewhat slow, it's an incompatible language. but not too bad | ||
| whiteknight | the hardest part, I'm sure, is going to be duplicating the necessary standard library and the DB interfaces | ||
| lucian | whiteknight: facebook still use zend for much of their code. their compiler is for a small subset of php | ||
| but wordpress.org (w/e the company is called) might be interested | 23:34 | ||
| cotto_work | lucian: last I heard they used hiphop for the majority (if not all) of their php code. | ||
|
23:34
bubaflub joined
|
|||
| whiteknight | lucian: yeah, I think facebook uses hiphop for almost everything | 23:34 | |
| lucian | cotto_work: they do? oh well | ||
| whiteknight | we need to do a lot of work on our performance. PHP does have decent performance, for all it's syntactic and semantic problems | 23:35 | |
| lucian | wordpress is sufficiently clean, well tested and centralised for something like this to work | ||
| depends how you define decent, i guess | |||
| if you consider CPython to have "decent" performance, sure | |||
| davidfetter | would you consider it an indecent performance? | 23:38 | |
| davidfetter pictures scenes from "the producers" | 23:39 | ||
| lucian | :) | ||
| it's sufficient for most purposes, but embarrassing | 23:40 | ||
| whiteknight | I want to start putting together a team for integrating 6model into Parrot | 23:42 | |
| It's going to be a collection of tasks, some of which are going to be very large | 23:50 | ||
| cotto_work: you and I are going to have to powwow about that topic sometime soon. If we're going to replace the Parrot MOP, we should take the time to correct some of the bad decisions of the current design | 23:51 | ||
| cotto_work | whiteknight: sure. Unfortunately it seems that you're usually offline by the time I get home. | 23:52 | |
| whiteknight | cotto_work: yeah, I'm a total jerk like that | 23:53 | |
| cotto_work: you around at all this weekend? | |||
| Tene | whiteknight: I'd love to help with that. | ||
| whiteknight | Tene: I was hoping you would say that :) | ||
| cotto_work | whiteknight: Sunday doesn't look bad. | ||
| whiteknight | cotto_work: okay, I'll do my best to be online most of Sunday. Mosey in whenever you have time | 23:54 | |
| Tene | whiteknight: I say a lot of things. Historically, they haven't been well-correlated with actual work. | ||
| cotto_work | whiteknight: deal | ||
| whiteknight | I'll use the remainder of the week to start fleshing out a basic plan | ||
| cotto_work | whiteknight: ok | 23:55 | |
| whiteknight: alternatively I could do a weekday morning pretty easily. | 23:58 | ||
| *alternately | |||
| whiteknight | those are harder for me, but I usually do sign online as soon as I get to work. I get in some mornings around 8AM EST | ||
| Tene | I'm pretty sure I was somehow mixing levels and had skewed abstractions in my ruby 6model work, is why I was seeing problems there. I need to actually write up a design separately, and then come back to it. | 23:59 | |