|
Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today Set by moderator on 17 May 2011. |
|||
| sorear | nqp: say $x; my $x := 5 | 00:01 | |
| p6eval | nqp: OUTPUT«Confused at line 1, near "say $x; my"current instr.: 'nqp;HLL;Grammar;panic' pc 26397 (src/stage2/gen/NQPHLL.pir:7039)» | ||
| sorear | nqp: say($x); my $x := 5 | ||
| p6eval | nqp: OUTPUT«» | ||
| sorear | ...what? | ||
| std: say($x); my $x := 5 | 00:02 | ||
| p6eval | std c843201: OUTPUT«[31m===[0mSORRY![31m===[0mVariable $x is not predeclared at /tmp/fYpIPnZiEZ line 1:------> [32msay($x[33m⏏[31m); my $x := 5[0mCheck failedFAILED 00:01 121m» | ||
| sorear | I thought nqp was supposed to be a Perl 6 subset | ||
|
00:03
plobsing joined
|
|||
| plobsing | ~~ | 00:04 | |
| sorear | !~~ | ||
| plobsing | to match or not to match? is that the question? | ||
|
00:11
dmalcolm left
|
|||
| dukeleto | i guess today was world ipv6 day | 00:18 | |
|
00:22
theory left
|
|||
| dukeleto | Rubinius 2.0 preview: rubini.us/2011/06/07/inside-rubinius-20-preview/ | 00:25 | |
| benabik | sorear: That's a side effect of declaring everything at ENTER time. | 00:26 | |
| sorear: NQP needs to add an explicit check that it's not used early because parrot won't know the difference. | 00:27 | ||
|
00:29
theory joined
00:32
smash left
00:33
kid51 is now known as kid51_at_dinner
|
|||
| lucian | anyone willing to help me debug something? | 00:56 | |
| get_string in bitbucket.org/lucian1900/puffin/sr...nce.winxed | |||
| whiteknight | cotto_work: ping | 00:57 | |
| lucian: maybe. What's up? | |||
| lucian | whiteknight: trying to override get_string, i get an odd error on that test | 00:58 | |
| let me paste | |||
| whiteknight | ok | ||
|
00:58
theory_ joined
00:59
theory_ left
|
|||
| lucian | gist.github.com/1013572 | 01:00 | |
| relevant code is in instance.winxed | |||
| whiteknight | link to instance.winxed? | 01:01 | |
| lucian | bitbucket.org/lucian1900/puffin/sr...nce.winxed | 01:02 | |
| whiteknight | yeah, I just found it | ||
|
01:03
theory left
|
|||
| whiteknight | I don't see where it is trying a get_integer | 01:04 | |
| cotto | whiteknight pong | 01:05 | |
| lucian | whiteknight: me neither | ||
| cotto | whiteknight, what happen? | 01:06 | |
| whiteknight | cotto: Class.add_vtable_override throws and exception if we try to set a vtable override that has already been set | 01:07 | |
| I would like that behavior to go away | |||
| lucian: use "winxed -c" to compile to PIR, and take a look at the PIR generated for that method | 01:08 | ||
| cotto | whiteknight, what happens to HLLs with that change? | ||
| whiteknight | if I have to blindly guess, I suggest maybe the string() cast is coercing something something somthing | ||
| cotto: I don't rightly know. I haven't even really tested it here on just Parrot | |||
| plobsing | lucian: I usually bust out gdb at that point and break on Parrot_Null_get_integer | 01:09 | |
| whiteknight | but it seems like the kind of semantic that an HLL should have control over | ||
| lucian: yes, that's the nuclear approach with gdb | |||
| lucian | plobsing: that's a little sad | ||
| whiteknight: no get_integer in the .pir | 01:10 | ||
| whiteknight | ....lolfail | ||
| cotto | whiteknight, what behavior would you prefer? | 01:11 | |
| whiteknight | I really wish that linenumber in the backtrace weren't fubar | ||
| cotto: no checking for a prior entry. Blind overwrite | |||
| cotto: We can do that already with pir::inspect($class, "vtable_overrides"){"whatever"} := $override | |||
| so it's behavior we can circumvent anyway. I just don't think our object model should be enforcing that kind of restriction | 01:12 | ||
|
01:12
woosley joined
|
|||
| cotto | whiteknight, I'm not adverse to that change. Why do you want it? | 01:13 | |
| whiteknight | I've run into the restriction a few times in Rosella, and had to use the workaround more than once | ||
| In any case, removing unnecessary assumptions from Parrot can't hurt | |||
| I honestly have trouble thinking of a time when that restriction would be valuable | 01:14 | ||
| lucian | whiteknight: could parrot be trying to eval the number inside the string? i remember it had(has?) this silly notion of considering "0" false | ||
| cotto | whiteknight, feel free to start a branch and do some hll testing. | 01:15 | |
| whiteknight | lucian: where are you getting that backtrace? | ||
| cotto: awesome. Will do | |||
| lucian | no, not that | ||
| whiteknight: in test_instance:get_string | |||
| whiteknight | oh, right. Winxed doesn't print out backtraces by default, but Rosella.Test does | 01:16 | |
| I forgot about that | |||
| lucian: comment out line 43 and see if that makes the code not crap | |||
| I want to try to narrow this down | 01:17 | ||
| lucian | the assert line | ||
| ? | |||
| ok, test passes with the assert commented | |||
| whiteknight | okay, bring that line back in, but take out the string() cast | 01:18 | |
| lucian | did, get an error about a missing is_equal | ||
| which it is, because i haven't implemented it | |||
| whiteknight | okay, on line 42, do "string i_str = i;" | ||
| lucian | the string cast on its own triggers the get_integer error | ||
| whiteknight | and pass i_str to equal() | 01:19 | |
| lucian | implicit coercion too | ||
| both string s = i; and var s = string(i); throw the error | |||
| assert commented | |||
| whiteknight | okay. That's weird | 01:20 | |
| soh_cah_toa | cotto: i'm having a problem passing a Parrot_PMC to a function that takes a PARROT_INTERP. i want to call a function defined in src/hbdb.c from frontend/hbdb/main.c except the later file uses the embedding api and the former doesn't | ||
| lucian | whiteknight: that's what i thought | 01:21 | |
| whiteknight | soh_cah_toa: EDONTDOTHAT | ||
| soh_cah_toa: create a new API function for what you want to do | |||
| lucian | whiteknight: i can leave get_string out for now, it's only really useful for interop | ||
| whiteknight | lucian: change the "42" to something that doesn't look like a number | 01:22 | |
| see if that makes the problem go away | |||
| lucian | whiteknight: did, same | ||
| whiteknight | damnit | ||
| soh_cah_toa | whiteknight: what do you mean? how do i make an api function? | 01:23 | |
| agh...casting it as Parrot_Interp gets gcc to shut up but i still segfault | 01:24 | ||
| dalek | rrot/whiteknight/add_vtable_override: 50ca55b | Whiteknight++ | / (2 files): Remove the restriction in Class.add_vtable_override against adding an override that has already been added. This is the kind of semantic HLLs should enforce, not Parrot (especially since we won't do any caching, so we don't have to worry about inconsistency). |
||
| whiteknight | soh_cah_toa: API functions don't take a Parrot_Interp | 01:25 | |
| cotto | soh_cah_toa, PARROT_INTERP and Parrot_PMC are very different. | ||
| whiteknight | soh_cah_toa: open up src/embed/api.c. Follow the pattern of other functions. | ||
| cotto | There's a ParrotInterpreter PMC, but they're not interchangeable | ||
| whiteknight | soh_cah_toa: if you have any questions about what you are copy+pasting, let me know | ||
| but mostly, just copy_paste | |||
| soh_cah_toa | whiteknight: why should i change the api for something that i only need for my debugger though? i'm trying to just get input from stdin. i don't think i need add an api function for that | 01:26 | |
| whiteknight | soh_cah_toa: what do you mean, get input from stdin? | 01:30 | |
| soh_cah_toa | just enter a command | ||
| whiteknight | like, get the input from the frontend and pass it in to the debugger? | ||
| soh_cah_toa | but the functions defined in src/hbdb.c where i don't use the api | ||
| whiteknight | ...I don't think I follow | ||
| nopaste me the code you have in the frontend which doesn't work? | 01:31 | ||
| soh_cah_toa | ok | ||
| lucian | noway, i fail 2 extra tests when running in gdb | 01:33 | |
| whiteknight | lucian: double weird | 01:34 | |
| lucian: at that point, my strategy is "cd /; sudo rm -rf *" | |||
| lucian | whiteknight: nevermind, stale pir | 01:35 | |
| nopaste | "soh_cah_toa" at 192.168.1.3 pasted "PARROT_INTERP Segfault" (252 lines) at nopaste.snit.ch/50624 | 01:37 | |
| lucian | plobsing: ok, i got it to break on get_integer. now what?? | 01:38 | |
| s/??/?/ | |||
|
01:38
cotto left
|
|||
| soh_cah_toa | it's the call to hbdb_get_command() in frontend/hbdb/main.c that's causing problems | 01:38 | |
| lucian | plobsing: pleasantly devious, and at the same time saddening method, this. thanks :) | 01:39 | |
| plobsing | lucian: get a backtrace | ||
| where are you? | |||
| you're on a boat! | |||
| running on the VM your VM could run like | 01:40 | ||
|
01:40
cotto joined
|
|||
| lucian | gist.github.com/1013612 | 01:41 | |
| whiteknight | soh_cah_toa: yeah. Parrot_PMC != Parrot_Interp | ||
| soh_cah_toa | right | ||
| lucian | plobsing: effin boat | ||
| whiteknight | soh_cah_toa: if you are going to have a frontend file, you need to use the embedding API. Add a function to src/embed/api.c to call hbdb_get_command | 01:42 | |
| soh_cah_toa: eventually, we may want to add a new file src/embed/debug.c to hold functions specific to debugging, but for now you can jam them into src/embed/api.c | |||
| plobsing | lucian: both C and PIR backtraces are useful (and the PIR backtrace *may* differ from the one printed in some cases) | 01:43 | |
| soh_cah_toa | whiteknight: the types still won't match though | 01:44 | |
| lucian | plobsing: yes, if you know parrot/C well :) | ||
| whiteknight | soh_cah_toa: what do you mean? | ||
| lucian | any hints on what's going on in that trace? | ||
| whiteknight | soh_cah_toa: the macro EMBED_API_CALLIN converts a Parrot_PMC to a Parrot_Inter | ||
| Parrot_Interp | |||
| soh_cah_toa: just try it :) | |||
| soh_cah_toa | i'll take a look | 01:45 | |
| plobsing | lucian: a runloop, an opcode body, some intermediary parroty stuff, and then your null access | ||
| whiteknight | soh_cah_toa: just try to follow the pattern other API functions use. Name it Parrot_api_...., use the right kinds of paramters, don't return any values, etc | 01:46 | |
| plobsing | the intermediary stuff is the important bit. how you got to asking for an int when you were trying to get a string. | ||
| soh_cah_toa | whiteknight: alright, i'll try... | 01:47 | |
| whiteknight | soh_cah_toa: it's good practice, in any case | ||
| lucian | plobsing: hmm | 01:48 | |
| whiteknight | it's that set_i_p opcode. Trying to set an I from a P | 01:49 | |
| somewhere that is being generated from the winxed | |||
| lucian: can you post the PIR disassembly for that method? | |||
| lucian | whiteknight: lemme find it | 01:50 | |
| whiteknight | and the PIR disassembly from the get_string[vtable] in instance.winxed would be nice, for double-checking | 01:51 | |
| although that might have to wait until tomorrow, I'm heading to bed soonish | 01:52 | ||
| lucian | gist.github.com/61ed830fc8f2f476ba6a | ||
| that's instance.pir:get_string | 01:53 | ||
| whiteknight | I see the set_i_p right there | ||
| line 77 | |||
| so the backtrace was helpfully wrong | |||
| ah | 01:54 | ||
| got it | |||
| lucian | gist.github.com/1013627 | ||
| whiteknight | instance.winxed, line 77. Change it to "if (cls != null && ...)" | ||
| winxed is coercing cls to an int for the conditional | |||
| lucian | bah | 01:55 | |
| whiteknight | iknowright? | ||
| lucian | that sure is an arbitrary coercion | ||
| whiteknight | and on that note, I'm heading off to bed | ||
| have fun with your codez | |||
| cotto | 'night | 01:56 | |
|
01:56
whiteknight left
|
|||
| plobsing | lucian: I'd submit a bug for that. we have separate boolean coercion it should be using. | 01:56 | |
| lucian | yay, no more get_integer | ||
| plobsing: ahem. i'll try to write a smaller example | 01:57 | ||
| plobsing | not sure if null is a valid boolean, but at least you'd get a more specific and intuitive failure | 01:59 | |
| lucian | winxed defaults to ints in boolean contexts, from what i've seen | 02:00 | |
| 1 == 1 returns 1 | |||
| plobsing | lucian: under the hood, parrot uses integers as booleans, but PMCs are allowed to coerce to bools and to ints differently | 02:01 | |
| 0 but true | |||
| lucian | i see | ||
| sorear | "0" in most non-Perl languages may be a better example | 02:02 | |
| lucian | there are many other python __methods__ that could use pmc overrides, for interop | ||
| for now, i just wanted __str__/__repr__ | |||
| now i should fix other bugs, and work on the compiler | 02:04 | ||
|
02:21
kid51_at_dinner left
02:36
cottoo joined,
cotto left
02:37
cottoo is now known as cotto
02:39
mtk left
02:45
mtk joined
|
|||
| soh_cah_toa | cotto: could you help me take a look at this? | 02:52 | |
| nopaste | "soh_cah_toa" at 192.168.1.3 pasted "Null PMC access in find_method('readline_interactive')" (40 lines) at nopaste.snit.ch/50625 | ||
| plobsing | soh_cah_toa: stdin is a FILE*, but Parrot_io_stdhandle takes an intval. you want STDIN_FILENO in general, or PIO_STDIN_FILENO for parrot-specific cases | 02:59 | |
| you should have been warned about that by your compiler | 03:00 | ||
| soh_cah_toa | plobsin: ah...right. i thought stdin/stdout/stderr evaluated to their respective fd numbers | ||
| let me try | 03:01 | ||
| we have liftoff! | 03:06 | ||
| plobsing++ | |||
| cotto | and a good time was had by all | 03:10 | |
| soh_cah_toa | well, i'm closer. now i get "Method 'say' not found" | ||
| soh_cah_toa thinks... | |||
| cotto | the say op is defined, but if you want a method you have to include something that defines it or define it yourself | 03:12 | |
| are you in nqp? | 03:13 | ||
| soh_cah_toa | no, it's src/hbdb.c | ||
| cotto | what are you doing? | 03:14 | |
| soh_cah_toa | the function definition is in the above nopaste | 03:15 | |
| i'm calling it's api wrapper Parrot_api_hbdb_get_command() from frontend/main/hbdb.c | |||
| cotto | is that pushed? | ||
| soh_cah_toa | yeah | ||
| cotto | there's no "say" method | 03:17 | |
| soh_cah_toa | isn't it also a method of the filehandle pmc? | ||
| like print is? | |||
| cotto | I don't see one there | ||
| soh_cah_toa | if i use print then i get "too few positional arguments: 1 passed, 2 (or more) expected" | 03:18 | |
| cotto | that's better | 03:19 | |
| soh_cah_toa | 2 expected though? | ||
| cotto | that means it's finding a method | ||
| soh_cah_toa | right | ||
| i thought print just takes a string | |||
| cotto | a couple things: | 03:22 | |
| First, you shouldn't be passing a char* to a method like that. They take STRING*. | |||
| soh_cah_toa | ahh...yes. i have to convert it back | 03:23 | |
| cotto | The signature '->' indicates no arguments or return values. | ||
| soh_cah_toa | whoops | 03:24 | |
| yeah, that makes no sense | |||
| lucian | effin null pmc invoke ... | 03:38 | |
| soh_cah_toa | cotto: i have some progress. look at src/hbdb.c near line 85 | 03:43 | |
|
03:45
AzureStone left
|
|||
| cotto | soh_cah_toa, you can be lazy and pass 0 as the size. | 03:46 | |
| soh_cah_toa | nope | 03:47 | |
| cotto | Parrot_str_new explicitly checks for that | 03:48 | |
| soh_cah_toa | using 0...w/ strcat i get a blank line. w/o strcat i get just one newline | ||
| as in (hbdb) on every as opposed to every other | 03:49 | ||
| cotto | what are you trying to do? | ||
| soh_cah_toa | simple: input something, echo it | ||
| just to get the behavior down first | 03:50 | ||
| cotto | soh_cah_toa, are you certain that there's anything in cmd? | ||
| soh_cah_toa | what do you mean? that's where the input goes. it has to be there | 03:51 | |
| cotto | you're using a function that returns a STRING to write into a char* | 03:52 | |
| Very few Parrot internal functions use a char*. In general, you'll want to use a STRING*. | 03:53 | ||
| soh_cah_toa | src/debug.c did it that way so i just assumed. let me change it... | 03:54 | |
|
03:55
jsut_ joined,
AzureStone joined
|
|||
| soh_cah_toa sighs in relief | 03:55 | ||
| finally | |||
| took me all damn day | 03:56 | ||
| cotto | push it | ||
| dukeleto, ping | |||
| dukeleto | cotto: pong | 03:57 | |
| cotto | dukeleto, do you have the tuits to help soh_cah_toa figure out how to move his branch to parrot's official git repo? | ||
| he's got it on a fork atm | |||
|
03:59
jsut left
|
|||
| soh_cah_toa pushes | 04:01 | ||
| dukeleto | cotto: what is the problem? | ||
| cotto | dukeleto, he's on a clone and I'd like to move his branch to the main repo | 04:04 | |
| dukeleto | cotto: you mean he has a branch in a fork of parrot.git and you want it in parrot/parrot.git ? | 04:05 | |
| cotto | dukeleto, yes | ||
| dukeleto | cotto: he just needs to push his branch to the remote he has pointed at parrot/parrot.git | 04:06 | |
| cotto: since he has a commit bit | |||
| soh_cah_toa | let me try now | ||
| dalek | Heuristic branch merge: pushed 56 commits to parrot/soh-cah-toa/hbdb by soh-cah-toa | 04:08 | |
| soh_cah_toa | yay | ||
| cotto | that was less painful than I was hop^H^H^Hafraid it'd be ;) | 04:09 | |
| soh_cah_toa | i know | ||
| dukeleto | msg whiteknight can you explain more what "must explicitly set a PIR compreg" means in t/src/extend.t ? Do only the tests need improving, or the implementation? | ||
| aloha | OK. I'll deliver the message. | ||
| cotto | well, there you go | ||
| The debugger echoes input back to the user. I wouldn't call it a complete debugger quite yet, but that's meaningful progress. | 04:11 | ||
| soh_cah_toa | i know, i'm happy though | ||
| it's taken a little longer b/c...well...parrot does some things very differently | 04:13 | ||
| for instance, it took me all day just to echo input. with FILE * and fgets/fputs it would've been about 30 seconds | |||
| though i wish i spent some more time during the bonding period exploring those kind of things | 04:14 | ||
| i can thank calculus for that ;) | |||
| cotto | but how long did it take you to learn fgets/fputs | 04:15 | |
| there's a lot you have to relearn | |||
| soh_cah_toa | absolutely, yes | ||
| not just new things to learn but things to re-learn. yeah | |||
| b/c of that i really want to make my documentation/comments/tutorials very explicit. idiot-proof | 04:18 | ||
| as is probably all ready obvious w/ my many comments ;) | 04:19 | ||
| anyway...so now if i commit/push to my branch on the main parrot repo, will my fork reflect the changes? i'm guessing no | 04:21 | ||
|
04:22
rohit_nsit08 joined
|
|||
| cotto | no | 04:23 | |
| soh_cah_toa | i think i'll need to do a git pull upstream for that, right? | ||
| dalek | rrot/leto/embed_grant: 6bf824e | dukeleto++ | t/src/embed.t: [t] Parrot_free_cstring |
||
| dukeleto | soh_cah_toa: if you call the remote that points to parrot/parrot.git "upstream" in your fork, then yes | 04:24 | |
| soh_cah_toa | yay, my git is getting better | ||
| if i'm on the soh-cah-toa/hbdb branch locally, will i always need to type "git push upstream soh-cah-toa/hbdb" or just "git push upstream"? | 04:26 | ||
| dukeleto | soh_cah_toa: git config --global push.default current | 04:32 | |
| soh_cah_toa: that will change your ~/.gitconfig so that if you leave of the branch to push, it defaults to the current one, in all git repos | |||
| s/leave of/leave off/ | |||
| soh_cah_toa | great, thanks | ||
| dukeleto | soh_cah_toa: git help push | 04:33 | |
| dalek | rrot/leto/embed_grant: 3baf690 | dukeleto++ | t/src/extend_vtable.t: Add coverage to Parrot_ext_try |
04:35 | |
|
04:43
lucian left
|
|||
| dalek | rrot/leto/embed_grant: 537230d | dukeleto++ | t/src/embed/api.t: Add coverage for Parrot_api_wrap_pointer |
04:49 | |
| rrot/soh-cah-toa/hbdb: 86d097f | soh_cah_toa++ | src/hbdb.c: Testing that dalek sees this |
04:52 | ||
| rrot/soh-cah-toa/hbdb: b2984f8 | soh_cah_toa++ | src/hbdb.c: Untest |
|||
| soh_cah_toa | good. now i can go to bed | 04:53 | |
|
04:53
soh_cah_toa left
|
|||
| dalek | rrot/leto/embed_grant: 70244ea | dukeleto++ | t/src/embed/api.t: Add coverage to Parrot_api_set_runcore |
04:59 | |
| cotto | I've got another accidental infinite loop with the calling conventions test. What a strange game. | 05:54 | |
| It's exciting to tweak userspace M0 code and see the call frame become more correct. | 06:30 | ||
|
06:33
preflex left
06:35
preflex joined
|
|||
| dalek | rrot/m0-prototype: 72b359e | cotto++ | src/m0/perl5/m0_assembler.pl: make assembler debugging output optional |
07:09 | |
| rrot/m0-prototype: b8f1f9e | cotto++ | / (2 files): make M0 smart enough to use a manually-initialized call frame poke_caller still doesn't pass, but it properly goes to the callee chunk using a call frame initialized by M0 code, so there's progress |
|||
| rrot/m0-prototype: f328a33 | cotto++ | src/m0/perl5/m0_interp.pl: various (mostly) minor interpreter fixes |
|||
| rrot/m0-prototype: dc51416 | cotto++ | t/m0/integration/m0_poke_caller.m0: get poke_caller returning to the address in its RETPC, though not losslessly |
|||
|
07:22
mj41 joined
08:16
rohit_nsit08 left
08:19
contingencyplan left
08:31
fperrad joined
08:39
linge left
08:50
Infinoid left
08:51
Infinoid joined
08:55
rohit_nsit08 joined
|
|||
| dalek | p: 0a8dc8b | (Martin Berends)++ | src/pmc/stable.pmc: [src/pmc/stable.pmc] eliminate gcc 'old-style function declaration' warning |
09:00 | |
|
09:22
preflex left
09:24
preflex joined
09:26
woosley left
09:32
lucian joined
09:38
lucian left
09:47
nopaste left,
TonyC left,
TonyC joined
09:55
woosley joined
09:56
woosley left,
lucian joined,
lucian left,
nopaste joined
10:10
nopaste left,
TonyC left
10:11
TonyC joined
10:16
nopaste joined
|
|||
| dalek | p: 43f2fc4 | (Martin Berends)++ | src/ (3 files): [nqp.ops P6opaque.c HashAttrStore.c] eliminate gcc 'conversion from void *' warnings |
10:19 | |
|
10:20
klavspr joined
10:26
mtk left
10:30
simcop2387_ joined,
simcop2387 left,
simcop2387_ is now known as simcop2387
10:33
mtk joined
10:49
ttbot left
11:05
masak joined
|
|||
| masak | hi, Parrot folks. | 11:05 | |
| quick question: is there a Parrot call for "read a single character from the keyboard", a la C's 'getc'? either blocking or non-blocking is fine. | 11:06 | ||
|
11:07
ttbot joined,
rohit_nsit08 left
11:30
rohit_nsit08 joined
11:48
dodathome joined
|
|||
| masak | looking, I find something called ncurses::getch in examples/library/ncurses_life.pir. | 11:50 | |
| jnthn__ | masak: does the FileHandle or whatever it's called PMC not have such a method? | 11:51 | |
| masak | jnthn__: I didn't find any in docs.parrot.org/parrot/latest/html/...o.pod.html | 11:52 | |
| moritz | masak: $*IN.read(1)? (see #perl6) | 11:53 | |
| masak | ooh | 11:57 | |
| jnthn__ | masak: Didn't you implement that method? ;-) ;-) | 12:01 | |
| moritz | I'm pretty sure he did :-) | ||
| masak doesn't know what to say :) | 12:03 | ||
| ...anyway, I'm glad there's a way. :P | |||
| moritz | masak: is that for your blog thingy? | 12:04 | |
| masak | (actually, I simply didn't think of .read in that context) | ||
| moritz: yes, that's what got me thinking about it. | |||
| moritz: making games that react to keypresses, and all that. | 12:05 | ||
| ./perl6 -e 'say $*IN.read(1); say "OH HAI"' | 12:06 | ||
| this doesn't cut it. it requires me to press Enter after pressing a key. | |||
| try it yourselves and see. | |||
| moritz doesn't have a rakudo master at hand | 12:07 | ||
| masak | anyway, the search is still on. | ||
| moritz | can't you NCI-wrap getch? | ||
| masak | possibly. | 12:08 | |
| I was hoping somebody had already :) | |||
| mikehh | there's an ncurses.pir in runtime/parrot/library | 12:10 | |
| masak | getting this error when trying to run ncurses_life.pir on a freshly checked-out and built Parrot: gist.github.com/1014297 | 12:12 | |
| :( | |||
| moritz | ticket it! | 12:14 | |
| mikehh | masak: you should be able to load ncurses.pbc | ||
|
12:14
whiteknight joined
12:15
sirmacik left
|
|||
| masak tickets it | 12:15 | ||
|
12:15
klavspr left
|
|||
| whiteknight | good morning, #parrot | 12:17 | |
| mikehh | hi there whiteknight | ||
| whiteknight | good morning mikehh. How are you doing today? | 12:18 | |
| mikehh | whiteknight: not too bad, just about to do some parrot hacking | ||
| masak | hi whiteknight! | ||
| whiteknight | hello masak! | 12:19 | |
| masak | I just submitted a trac ticket: trac.parrot.org/parrot/ticket/2130 | 12:21 | |
| moritz | masak++ | 12:22 | |
| masak | seems one of the Parrot examples is broken! this state of affairs cannot stand. | ||
| man the pumps! | |||
| jnthn__ | .oO( gee, I'm glad he's not this demanding with every rakudobug... ) |
12:23 | |
| masak | :P | 12:24 | |
| jnthn__: if one of the prepackaged examples in Rakudo failed to run, I would be as demanding. | 12:25 | ||
| moritz thought all the NCI examples were being updated in the last NCI overhaul? | |||
| whiteknight | several mentions about Perl6 in this article about Go: www.syntax-k.de/projekte/go-review | ||
|
12:25
rohit_nsit08 left
|
|||
| dalek | TT #2130 created by masak++: Cannot run examples/library/ncurses_life.pir | 12:28 | |
| TT #2130: trac.parrot.org/parrot/ticket/2130 | |||
| moritz | whiteknight: thanks | 12:29 | |
| mikehh | masak: yup I get the same | 12:30 | |
| jnthn__ | moritz: win32api.pir sure didn't get updated. :( | 12:39 | |
| dalek | p: d42ba1c | (Martin Berends)++ | src/6model/ (5 files): [src/6model] fix all gcc 'no prototype' warnings |
12:44 | |
|
13:12
plobsing left
13:38
preflex left
13:40
preflex joined
13:45
bubaflub_ joined
13:48
bubaflub left,
bubaflub_ is now known as bubaflub
|
|||
| NotFound | "The Go Programming Language or: Why all C-like languages except one suck." Obviously this guy dosn't know winxed ;) | 13:59 | |
| moritz | well, he also considers javascript a C-like language | ||
| which is usually a sign of cluelessness, and in stark contrast to the rest of the analysis in his post (at least the parts I've read so far) | 14:00 | ||
|
14:01
contingencyplan joined
14:02
hudnix joined
|
|||
| whiteknight | he does mention that JavaScript really doesn't fit into the list very well | 14:02 | |
| I'm surprised he didn't include C# | |||
| or D | |||
| although, D is probably not popular enough | 14:03 | ||
| and C# might not be different enough from Java | |||
| moritz | even Java isn't very C-like anymore | ||
| ah well | |||
| masak | Java was meant, from the very beginning, to tug C++ devs in the direction of Smalltalk and Lisp. | 14:09 | |
| jnthn__ | C# verison 1 was Java-y. C# 3 up are different beasts. :) | ||
|
14:13
theory joined
|
|||
| moritz | masak: both smalltalk and lisp have a reputtation to be far more expressive than Java | 14:15 | |
|
14:18
hercynium joined
14:19
lucian joined
|
|||
| NotFound | !winxed coerces pmcs to int in boolean contexts" ? What's a boolean context? | 14:25 | |
| lucian | NotFound: an if statement | 14:27 | |
| i attached an example | |||
| NotFound | lucian: that is not an if statement, is a && operator. | 14:28 | |
| lucian | NotFound: uh, sure | 14:29 | |
| NotFound | And even if it were, if you want a conversion to bool you should provide a get_bool vtable. | ||
| lucian | NotFound: right, but it should check for get_bool, not get_integer | 14:30 | |
| NotFound | lucian: it doesn't check, it uses it. | ||
| whiteknight | the generated PIR code calls set_i_p | ||
| not get_bool_i_p | |||
| NotFound | And if you don't provide one, Default takes care. | ||
|
14:30
simcop2387_ joined
|
|||
| lucian | NotFound: ok, it shoudln't use it. it should use get_bool | 14:30 | |
| NotFound: i don't see why it would use get_integer when i'm asking for bool evaluation | 14:32 | ||
| regardless of what the pmc imple,entss | |||
|
14:32
simcop2387 left,
simcop2387_ is now known as simcop2387
|
|||
| NotFound | lucian: Default does it. | 14:33 | |
| lucian | NotFound: the Default pmc? hmm. then that's wrong :) | 14:34 | |
| NotFound | Mmmm... no, it doesn't. | ||
| masak | moritz: no argument there. as I said, "tug [...] in the direction of" :) | ||
|
14:35
losinggeneration joined
14:43
fperrad_ joined
|
|||
| NotFound | The generated code for if (p) is unless $P1 goto __label_1 | 14:46 | |
|
14:46
fperrad left,
fperrad_ is now known as fperrad
|
|||
| NotFound | If you use a && operator, a conversion to int is used, because there is no such thing as converting to bool in parrot. | 14:47 | |
| unless op uses VTABLE_get_bool | 14:48 | ||
|
14:51
dodathome left
|
|||
| whiteknight | isn't there a get_bool op? | 14:51 | |
| NotFound | Dropping the && in that example gives, as expected, get_bool() not implemented in class 'foo' | ||
| moritz | but it doesn't return a bool, does it? :-) | ||
| NotFound | AFAIK the vtable get_bool is used only in jump operators. | 14:52 | |
|
14:54
fperrad_ joined,
theory left
14:57
fperrad left,
fperrad_ is now known as fperrad
|
|||
| NotFound | A way to coerce to "bool" is: p ? 1 : 0 | 14:57 | |
| But tt doesn't exactly the same as get_bool, it also check nullness. | 14:58 | ||
| I'm open to discuse appropiate semantic for all this uses, but the issue is a little more complex than it looks. | 15:00 | ||
| whiteknight | it seems very odd that we don't have a get_bool op | ||
| NotFound | whiteknight: even better, we don't have any way to use set_bool from pir. | 15:01 | |
| whiteknight | yeah, I've known that | ||
| there are a handful of VTABLEs which are basically unusable for similar reasons | |||
| NotFound | Or untestable. | 15:02 | |
| whiteknight | right | ||
| moritz | still it kinda makes sense to have them, because in many languages the paths SomeObject -> Bool and SomeObject -> Integer -> Bool return different results | 15:03 | |
| NotFound | Well, get_bool can be emulated via if or unless, but using that for the general case in logical operators will be suboptimal. | ||
| If parrot provides the op, fixing winxed to use it will be easy. | 15:05 | ||
| lucian | NotFound: i see. very odd | 15:06 | |
| dukeleto | ~~ | 15:10 | |
| dukeleto knows about funky vtables | |||
| NotFound | Well, exposing the problematic cases is the first step toward solutions. | 15:11 | |
| dukeleto | whiteknight: did you see my msg about the TODO tests in extend.t ? | 15:12 | |
| whiteknight | dukeleto: yes. I haven't had time to look at it yet | 15:13 | |
| atrodo | funky cold vtables | 15:16 | |
|
15:17
fperrad_ joined
|
|||
| dukeleto | whiteknight: ok. just wondering what your TODO comment actually means | 15:21 | |
|
15:21
fperrad left
|
|||
| whiteknight | dukeleto: let me take a quick look right now | 15:21 | |
|
15:21
fperrad_ is now known as fperrad
|
|||
| whiteknight | dukeleto: ah, I remember now | 15:22 | |
| dukeleto: IMCC isn't automatically initialized and registered in Parrot anymore. There isn't a PIR compreg PMC in libparrot unless you explicitly create one | |||
| right now, one is created in frontend/parrot/main.c, but isn't being created and registered in the test in t/src/extend.t | 15:23 | ||
| lucian | is there any way "return dict[i]" could try to invoke dict? dict here is a hash | 15:24 | |
| whiteknight | Parrot_runcode is the culprit. It is an older part of the extend API that expects a PIR compreg to exist | 15:25 | |
| dukeleto: if Parrot_runcode isn't deprecated and slated for removal, it should be | |||
| dukeleto | whiteknight: so, can I improve the extend.t tests by emulating what frontend/parrot/main.c does? | 15:28 | |
| whiteknight: i am trying to finish my TPF grant :) I can add runcode to the deprecation list when we have a replacement | 15:29 | ||
| whiteknight | dukeleto: those tests don't use frontend/parrot/main.c. They create their own main() functions and call into libparrot directly | ||
| the solution to that particular test is to delete Parrot_runcode, and throw it in the fire | |||
| OR, if we absolutely cannot kill that function in time for your grant, you need to create and register a PIR compiler in that test | 15:30 | ||
| dukeleto | whiteknight: there are many tests that have that same TODO. Not just one. | ||
| whiteknight: ok, that is more like what I am thinking. I need to register a PIR compiler. And there should be an example of that in frontend/parrot/main.c, correct? | |||
| dalek | p: fd52b67 | (Martin Berends)++ | src/6model/knowhow_bootstrapper.c: [src/6model/knowhow_bootstrapper.c] fix gcc 'return value not used' warnings |
||
| whiteknight | dukeleto: Get some of the logic out of compilers/imcc/api.c:imcc_get_pir_compreg_api, and copy+paste it into the tests where it is needed | 15:31 | |
|
15:31
JimmyZ joined
|
|||
| whiteknight | actually, compilers/imcc/api.c:get_compreg_pmc | 15:32 | |
| that's the function that creates and registers the compiler | |||
| You can't steal code from frontends/parrot/main.c. That file uses the embedding API, which the extend.t tests do not | |||
| you can't mix+match embedding and extending APIs | |||
| dukeleto | whiteknight: yeah, i may start a new test file or something | 15:36 | |
| whiteknight | ok | ||
| NotFound | lucian: if you want dict[i] to invoke something, you can override the appropiate get_..._keyed vtable. | 15:37 | |
| lucian | NotFound: not that, i was just getting a very odd error message | ||
| whiteknight | lucian: what's the error message? | 15:38 | |
| dukeleto | whiteknight: does this mean that all those TODO tests in extend.t should be moved to a new test file, since they require both the embed and extend system to test? | 15:39 | |
| whiteknight | dukeleto: far more likely, most of those tests need to be evaluated for "do we really want to do this?" and maybe deleted | ||
| you cannot mix and match extend and embed APIs. You can't do it. Always fail | 15:40 | ||
| so a new test file doesn't help that situation | |||
| lucian | whiteknight: invoke() not implemented in class Hash | ||
| whiteknight | actually, the old embed API can be mixed and matched. it's basically the extend API in a file named something wrong | ||
| lucian | whiteknight: apparently it happens if i try to return dict[i] | 15:41 | |
| whiteknight | lucian: have a backtrace? | 15:42 | |
| lucian | whiteknight: uh, i can produce one. i have a fix for this, so i'll have to rollback a commit | 15:43 | |
| whiteknight | it's not a super-huge deal | ||
| what is i? | |||
| lucian | whiteknight: string | 15:44 | |
| dukeleto | whiteknight: are you saying that the new embed API and our extend api *can't* be used together? | ||
| lucian | whiteknight: producing that traceback | ||
| whiteknight | dukeleto: yes. unequivocal yes | ||
| dukeleto | whiteknight: PL/Parrot used both the old embed and the extend api successfully | ||
| whiteknight | dukeleto: it's misnamed. The old embed api is no different in form or function from the extend API | 15:45 | |
| dalek | p: 367a3bc | (Martin Berends)++ | src/6model/multi_dispatch.c: [src/6model/multi_dispatch.c] fix gcc 'parentheses around && within ||' warning |
||
| whiteknight | basically, there's an artificial division between functions in embed.c and extend.c that does not need to exist. They are the same thing | ||
| that's why we needed a new embed API, because the old one wasn't for embedding | |||
| NotFound | The preferred way IMHO should be to separate the embed and the extend parts of an application in different C source files. | ||
| dukeleto | whiteknight: hmm | 15:46 | |
| whiteknight | PL/Parrot was using a bunch of functions, some of which were weirdly included in embed.c | ||
| that file is misnamed at best. Misleading, wrong, stupid, and smelly at worst | |||
| dukeleto | whiteknight: indeed it was. Duct tape and paper clips. | ||
|
15:46
masak left
|
|||
| whiteknight | dukeleto: the new embed API is used when calling in to libparrot, from a place that isn't protected from exceptions | 15:47 | |
| dukeleto | whiteknight: i am just trying to improve coverage of embed/api.c and extend.c . Do you recommend that I delete some functions that shouldn't exist? | ||
| whiteknight | the extend API is typically being used where exception protection is available | ||
| dukeleto: yes. Parrot_runcode at least needs to disappear | |||
| dukeleto | whiteknight: good to know. That explains some exploding hamsters in PL/Parrot | ||
| whiteknight | it is buggy, faulty. It relies on the existence of IMCC, which does not always exist in libparrot | 15:48 | |
| Maybe we could add an api method to IMCC to do the same kind of thing, but Parrot shouldn't provide it | |||
| dukeleto | whiteknight: what do I used instead of runcode ? | ||
| s/used/use/ | |||
| benabik | G'morning #parrot! | 15:49 | |
| whiteknight | dukeleto: what are you trying to do? libparrot doesn't have any compilers by default. You need to create a compiler object if you want to compile something | ||
| frontend/parrot/main.c creates and registers two compiler objects: "PIR" and "PASM" | 15:50 | ||
| lucian | whiteknight: ah, i found where i messed up | ||
| whiteknight | lucian: do tell | ||
| lucian | whiteknight: if you wish to laugh at me gist.github.com/1014684 | ||
| whiteknight: the reason the second works is that only the correct attribute is returned | |||
| whiteknight: (duh). the first one gives that error because i'm calling the resulting attribute in the test | 15:51 | ||
| whiteknight | lucian: oh, fun | ||
| lucian | yeah. i really dislike error reporting on parrot in general | 15:52 | |
| whiteknight | lucian: yes, it's not one of our strong points | ||
| lucian | hmm, i'm finding interop hard | 15:56 | |
| can a Class inherit from a PMC and another Class? | 15:57 | ||
| and are there any catches? | |||
| i really really wish Classes were Objects | 16:02 | ||
| that's 6model's killer feature if you ask me | 16:05 | ||
| cotto | ~~ | 16:09 | |
| benabik | Are there any good "Intro to Parrot" slides I can steal? I just realized I'm heading to Buffalo BarCamp today and haven't prepped anything to say. | 16:12 | |
| whiteknight | lucian: Classes are objects | 16:13 | |
| dukeleto | benabik: good question | 16:16 | |
| benabik: kid51 has been asking for slides like that so anybody can give an "intro to parrot" talk | |||
| benabik | dukeleto: Hah. | ||
| dukeleto: Maybe I should chop the compiler details out of my PCT presentation and expand it a bit. Wouldn't be fantastic but eh. | 16:22 | ||
| dukeleto | benabik: i will give a talk called "a visual intro to parrot" at YAPC::NA, but I haven't written it yet :) | 16:23 | |
| benabik | dukeleto: Well that's not convenient for me at all. Finish your slides in the next 5 hours so I can use it at Buffalo BarCamp. :-D | 16:24 | |
|
16:29
JimmyZ left
16:32
lucian left
16:48
mj41 left
|
|||
| cotto_work | ~~ | 16:52 | |
| whiteknight | ASP.NET batches files together into folders. So if you have files in folderA referencing files in folderB, and also have files in folderB referencing folderA, even if they are completely different and unrelated folders, you have a circular reference | 16:56 | |
| the website will compile and run just fine, but it won't deploy | |||
|
17:02
davidfetter joined
17:08
perlite_ joined,
shachaf_ joined
17:09
mtk left,
nopaste left,
TonyC left,
jtpalmer left,
dukeleto left,
jevin left,
perlite left,
jjore_ left,
aloha left,
bacek_at_work left,
janus left,
KaeseEs left,
shachaf left,
ascent left,
cotto_work left,
frodwith left,
PerlJam left,
Tene left,
cosimo left,
Util left,
knewt left,
slavorg left,
Hunger left,
perlite_ is now known as perlite
17:10
frodwith joined,
jjore joined,
Hunger joined
17:11
Util joined,
cosimo joined,
KaeseEs joined,
jtpalmer joined,
ascent joined,
Tene joined,
TonyC joined,
janus joined,
aloha joined
|
|||
| dalek | p: 60387e7 | (Martin Berends)++ | / (3 files): [6model/reprs/P6opaque*] fix gcc 'incompatible pointer type' warnings, tweak .gitignore |
17:13 | |
|
17:16
bluescreen joined,
PerlJam joined
17:22
bacek_at_work joined,
mtk joined,
jevin joined
17:23
cotto_work joined
17:26
dukeleto joined
17:28
knewt joined,
nopaste joined,
dodathome joined
17:30
simcop2387_ joined
17:31
mj41 joined,
simcop2387 left,
simcop2387_ is now known as simcop2387
|
|||
| cotto_work | github.com/blog/872-scheduled-main...-20-00-pst | 17:49 | |
|
17:49
ligne left
17:52
hudnix left
17:54
jsut_ left
17:57
hudnix joined
18:13
mj41 left
18:14
mtk left,
mtk joined
18:21
p6eval left,
p6eval joined
18:22
jsut joined
|
|||
| dalek | nxed: r1048 | NotFound++ | trunk/winxedst1.winxed: fix and complete the write-to-output feature in the stage 1 side |
18:25 | |
| TT #1006 closed by whiteknight++: Does not build on clang with GMP | |||
| TT #1006: trac.parrot.org/parrot/ticket/1006 | |||
|
18:40
bluescreen left
18:41
theory joined
18:59
dmalcolm joined
19:08
klavs joined
19:10
theory left
|
|||
| dalek | p: 878e8ff | pmichaud++ | / (5 files): Major refactor of build/Configure system (based on new tools/lib/NQP/Configure.pm being developed for Rakudo's build/Configure system). |
19:11 | |
|
19:12
slavorg joined,
theory joined
|
|||
| klavs | Hello all, i have updated dm0 (m0 disasm). It still does not support labels and do not format opcode arguments, but soon will. | 19:19 | |
|
19:21
theory left
|
|||
| cotto_work | klavs: looks like I'll have to take a look at it. | 19:25 | |
| again | |||
| aloha: dm0? | |||
| aloha | cotto_work: Search me, bub. | ||
| cotto_work | aloha: dm0 is klavs' experimental M0 disassembler or github.com/klavs/dm0 | 19:26 | |
| aloha | cotto_work: Okay. | ||
| cotto_work | aloha: dm0? | ||
| aloha | cotto_work: dm0 is klavs' experimental M0 disassembler or github.com/klavs/dm0 | ||
| cotto_work | klavs++ | ||
| let me add that to dalek | 19:28 | ||
|
19:29
ambs joined
|
|||
| cotto_work | klavs: can you follow the instructions at github.com/perl6/mu/blob/master/mi...k-push.txt , using t=magnet,parrot in the post-recieve url? | 19:31 | |
| That'll let us know whenever you push something to dm0 | |||
| We can also poll repositories, but that way's much faster and less resource-intensive. | |||
| klavs | Cotto, i have a question about chunks in BC. If there are more then one, will they be aligned or continuous? | 19:32 | |
| Cotto, ok | |||
| cotto_work | klavs: according to the current spec they'll be continuous. Alignment isn't something I've been considering, but it's something to think about before the spec becomes final. | ||
| constants are also unaligned | 19:33 | ||
| klavs | Cotto, then dm0 should work with them correctly. | 19:34 | |
| cotto_work | nice | ||
| klavs | Cotto, if there is no stack in m0, where the local variables of HLL will be stored? | 19:35 | |
| cotto_work | klavs: registers | ||
| whiteknight | working with annotations is much harder than it needs to be | 19:36 | |
| cotto_work | I'm working on code that demonstrates how that works now, but it's essentially continuation-passing style with the call frame acting as the continuation. | ||
| klavs | And for functions like printf in c? | 19:37 | |
| cotto_work | klavs: that's what the ffi ops are for | ||
| ideally, at least. They're not tested right now. | 19:38 | ||
| klavs | Cotto, thanks for info. | 19:40 | |
|
19:40
mj41 joined
19:42
soh_cah_toa joined
|
|||
| cotto_work | klavs: I'm glad to help make it clearer. | 19:42 | |
| soh_cah_toa | ~~ | 19:44 | |
| whiteknight | hello soh_cah_toa | ||
| soh_cah_toa | whiteknight: hey | ||
| whiteknight | soh_cah_toa: did you get anything new figured out last night after I signed off? | ||
| cotto_work | hio soh_cah_toa | 19:45 | |
| soh_cah_toa | cotto_work: hey | ||
| whiteknight: yeah. actually i did what you said and it worked in one shot believe it or not | |||
| whiteknight | I believe it | ||
| cotto_work | whiteknight's just that good | 19:46 | |
| whiteknight | the embedding API is as powerful as it is tricky and hard to understand | ||
| soh_cah_toa | agreed | ||
| whiteknight | there is still some work to do with it, like making it reentrant, but it's pretty good for what it's currently used for | ||
| cotto_work | Looking at Latvia on wikipedia, I'm starting to get excited about visiting it for YAPC::EU. | 19:47 | |
| davidfetter | dukeleto, i was recalling an offhand comment you'd made awhile back. something about PL/llvm | 19:48 | |
| cotto_work, you'll like it :) | |||
| cotto_work | PL/x86 | ||
| davidfetter | heh | ||
| dukeleto, think it's worth more than an offhand mention? | 19:49 | ||
| cotto_work | klavs: I like that you're using a separate file for constants. | 19:52 | |
| klavs: how much C code have you written? | 19:53 | ||
| klavs | Cotto, thats because i will need to update them. | ||
| cotto_work | klavs: yes. They're not stable quite yet. | ||
| klavs | Cotto, not much and i haven't done it for months, so.. People tend to forget things. :) | 19:54 | |
| cotto_work | klavs: that's how it works. When I haven't written Perl in a few months it always takes me a while to recall its major quirks and idioms. | 19:55 | |
| klavs: you should send in a CLA. I'd like to move dm0 into the m0-prototype branch and start testing it. | 19:58 | ||
| though there's still a few things that I need to finish before M0 can start to be considered done. | |||
| still, I work under the assumption that untested code is broken. | 19:59 | ||
| tadzik | heh, Perl taught me that too | ||
| klavs | Cotto, i was considering it. I will reread it and send it in, but i do not prommise it will happen in next few days. | 20:00 | |
| cotto_work | klavs: There's no big rush. | ||
| klavs | Cotto, thats great. | ||
| cotto_work | tadzik: writing code taught me that. ;) | 20:01 | |
| tadzik | :) | ||
| klavs | Cotto, what do you think? Should dm0 conver every register's number to I0, S5, N60, etc. ? | 20:11 | |
| cotto_work | klavs: focus on breaking the code into separate functions first. | 20:12 | |
| Having all the work happen in main() isn't a very extensible design. | 20:13 | ||
| klavs | Cotto, ok. | ||
| cotto_work | dm0 will need to be fairly careful about how it converts numbers to register names. | 20:15 | |
| klavs | Cotto, what do you mean? | 20:16 | |
| dalek | p: 9ec488d | pmichaud++ | Configure.pl: Also look for any parrot in the search patch (tadzik++). |
||
| cotto_work | klavs: converting 0 to CF won't always be correct. | 20:17 | |
| klavs | Cotto, i don't get this. Everytime 0 is used as register's index it is not guaranteed to mean CF? | 20:20 | |
| cotto_work | sometimes it'll be an index into the constants table | ||
| or an immediate value | |||
| in "set_imm I0, 0, 1" 0 doesn't mean "the current call frame" but 0. | 20:21 | ||
| klavs | Cotto, i plan to check every opcode, to convert its arguments depending on their meaning (which is described in spec) | 20:23 | |
| cotto_work | klavs: ok | 20:24 | |
|
20:27
dodathome left
20:30
whiteknight left
|
|||
| cotto_work | klavs: can you make a test commit to dm0? I want to make sure dalek picks it up. | 20:31 | |
| klavs | Cotto, i will soon commit my code, cleaned a bit. Please, wait a minute :) | 20:33 | |
| cotto_work | klavs: you should also add a makefile at some point. | ||
| klavs: sure. Whenever you're ready. | |||
|
21:06
Patterner joined
|
|||
| dalek | 0: 6e9d712 | (Klāvs Priedītis)++ | dm0.c: cleaned code |
21:08 | |
| 0: 4351cd6 | (Klāvs Priedītis)++ | consts.inc: removed license |
|||
| 0: b8086b8 | (Klāvs Priedītis)++ | utils.c: removed license |
|||
| sorear | What's dm0? | 21:09 | |
| Oh, the M0 disassembler? | |||
| dalek | rrot/soh-cah-toa/hbdb: b0a24d0 | soh_cah_toa++ | / (6 files): Move hbdb wrapper functions to src/embed/hbdb.c |
||
| klavs | Sorear, yes ;) | 21:10 | |
|
21:13
ambs left
|
|||
| cotto_work | klavs: what email do you use for github? | 21:14 | |
| klavs: also, do you mind if I add you to CREDITS? | 21:15 | ||
|
21:15
jsut_ joined
|
|||
| klavs | klavs.pr at gmail dot com | 21:15 | |
| Cotto, no problems, i will not mind. | 21:16 | ||
| cotto_work | there you go | 21:17 | |
| dalek | rrot: 25dd6bf | cotto++ | CREDITS: add klavs++ to CREDITS |
21:18 | |
|
21:19
benabik left
21:20
jsut left
21:21
kurahaupo joined
21:23
mikehh left
|
|||
| klavs | Fun fact: time in Latvia now is ~00.30. | 21:27 | |
| veary late for children, not so late for programmer. I want to sleap. | |||
| cotto_work | klavs: 'night | 21:29 | |
| tadzik | it's almost the time in PL :) | ||
| cotto_work | aloha: clock? | ||
| aloha | cotto_work: LAX: Wed, 14:29 PDT / CHI: Wed, 16:29 CDT / NYC: Wed, 17:29 EDT / UTC: Wed, 21:29 UTC / LON: Wed, 22:29 BST / BER: Wed, 23:29 CEST / TOK: Thu, 06:29 JST / SYD: Thu, 07:29 EST | ||
| klavs | Thanks. Have a good day, all Americans here! | 21:31 | |
|
21:32
klavs left
21:33
hercynium left
21:36
kurahaupo left,
kurahaupo joined
21:38
Tene_ joined,
Tene left
21:40
fperrad left
21:41
Psyche^ joined
21:46
Patterner left,
Psyche^ is now known as Patterner
21:53
perlite_ joined
21:56
perlite left,
perlite_ is now known as perlite
22:03
dmalcolm left
22:08
mikehh joined
22:10
kurahaupo left
22:22
mj41 left
23:00
benabik joined
23:02
benabik left
23:25
jsut_ left
23:37
jsut joined
23:46
whiteknight joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_4_0-179-g25dd6bf | 23:54 | |
| Kubuntu 11.04 amd64 (g++ --optimize) | |||