|
Parrot 2.10.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot Developer Summit 2300 UTC today | Please test rakudo with bleeding edge parrot! Set by moderator on 5 December 2010. |
|||
| whiteknight | oh, there's a call aspect? I didn't know that. I probably won't be able to join though | 00:06 | |
| dukeleto | Put on your lollerskates: i.imgur.com/eqDAc.jpg | 00:23 | |
|
00:28
kapace_ joined
|
|||
| nwellnhof | dukeleto: yankov.us/rage/ | 00:28 | |
| kapace_ | So, now I'm working on www.google-melange.com/gci/task/sho...9151938222 and I have ComplexMatrix2D and NumMatrix2D working together | 00:29 | |
| but PMCMatrix2D doesn't seem to work the same way | |||
| github.com/Whiteknight/parrot-line...d.pmc#L316 declares attrs_a as a ComplexMatrix2D, but I can't get it to declare as PMCMatrix2D | 00:31 | ||
| whiteknight | let me look | ||
| kapace_: You probably can't use that function. You should probably use VTABLEs instead to get what you want instead of poking into the structures directly | 00:32 | ||
| VTABLE_get_attr_str(interp, pmc, Parrot_str_new(interp, "rows")) | 00:33 | ||
| and "cols" | |||
| kapace_ | whiteknight: ok | ||
| whiteknight | think of it like the difference between "public" and "private" in most OO languages. You can use the private stuff for ComplexMatrix2D, but you need to use the public stuff for PMCMatrix2D | 00:34 | |
| kapace_ | makes sense | ||
| what is interp? | 00:35 | ||
| whiteknight | that's the interpreter structure for Parrot. It controls everything | ||
| kapace_ | ah | 00:36 | |
| whiteknight | almost all functions take a reference to the interp as the first arg. You don't have to use it, you just need to pass it along | ||
| kapace_ | ok, well the problem im running into is that "PMC * item = ITEM_XY_ROWMAJOR(s_b, rows, cols, i, j);" fails because s_b is thought to be a ComplexMatrix2D returning a FloatVar | 00:37 | |
| works fine for NumMatrix2D, but not for PMCMatrix2D because it returns a PMC | 00:38 | ||
| nvm | 00:39 | ||
| I should try to use the methods to access it | |||
|
00:45
Yuki`N left
|
|||
| kapace_ | "INTVAL cols = VTABLE_get_attr_str(PARROT_INTERP, B, Parrot_str_new(PARROT_INTERP, "cols"));" -> error: expected expression before āParrot_Interpā | 00:50 | |
|
00:51
PacoLinux left
00:52
PacoLinux joined
|
|||
| whiteknight | PARROT_INTERP is the declaratoin | 00:53 | |
| use the variable "interp" | |||
| kapace_ | ah | 00:54 | |
| silly me | 00:55 | ||
|
01:08
nwellnhof left
01:14
stilgar joined
|
|||
| kapace_ | where can I find docs for Parrot_str_new? | 01:14 | |
| stilgar | kspace_ perldoc src/pmc/string.pmc? | 01:17 | |
| kapace_ | thanks | ||
| stilgar | does that wmo | 01:18 | |
| mobile keyly | |||
|
01:18
stilgar left
|
|||
| kapace_ | lol | 01:18 | |
| whiteknight: dpaste.com/285058/ mind taking a look? | 01:36 | ||
| whiteknight | sure | ||
| kapace_ | it works for complexmatrix +/- nummatrix or PMCmatrix | 01:37 | |
| whiteknight | kapace_: looks pretty good. I have two comments | ||
| First: that function add_matrices_pmc you have should work for all cases. You don't need add_matrices_generic like you wrote. It's basically a duplicate with a very small performance improvement for NumMatrix2D | 01:38 | ||
| Second: VTABLE_get_integer returns an integer. We probably want VTABLE_get_number to return a floating-point number | |||
| otherwise, it looks pretty good | |||
| kapace_ | ok makes sense, any other changes before posting to melange? | 01:39 | |
| oh, right the tests! almost forgot | 01:41 | ||
| whiteknight | yes, the tests are important | 01:57 | |
| but otherwise, no. The code looks very good | |||
| kapace_ | how do I run the tests? | 02:00 | |
| whiteknight | parrot-nqp setup.nqp test | 02:07 | |
| do you have kakapo installed? | |||
| (it's in the README how to do it if not) | |||
| kapace_ | yes | ||
| david@animal:~/Data/GCI/pla$ parrot-nqp setup.nqp test | |||
| t/sanity.t ... Contextual $*FileSystem not found | |||
| whiteknight: any ideas? I see this ticket, trac.parrot.org/parrot/ticket/1518 , but no solution | 02:25 | ||
|
02:28
Yuki`N joined
|
|||
| Yuki`N | Hm, nwellnhof disappeared. | 02:33 | |
| whiteknight, you here? | 02:41 | ||
| kapace_ | whiteknight: found solution in logs, but its not not in readme.. | 02:47 | |
| can I make the tests in PIR, or do I have to use perl? | |||
| whiteknight | I am | 02:50 | |
| kapace_: hmm, my README is out of date | 02:51 | ||
| kapace_: install the version of Kakapo from github.com/Whiteknight/kakapo.git | 02:52 | ||
| the version from gitorious is broken | |||
| kapace_ | whiteknight: yeah, i got that | ||
| whiteknight needs to update that damn readme | |||
| oh, and you're still getting that failure? | |||
| nevermind, I'm behind | |||
| kapace_ | no, works, working on the test, do I have to use perl? | 02:53 | |
| Yuki`N | whiteknight, Could you explain nwellnhof's comment on my github pull request? | ||
| whiteknight | Yuki`N: let me look at it | 02:54 | |
| Yuki`N | I found a throws_substring function that apprently checks to make sure an exception is thrown | ||
| whiteknight | Yuki`N: The MULTI issue is fine. Don't worry about that. I just commented | 02:55 | |
| allison | everybody's here now (traffic delays), let us know if you want to listen in | 02:56 | |
| whiteknight | the other issue he has is that those two exceptions that are thrown are stupid, like I said. Those are bugs for us to fix | ||
| Yuki`N: so instead of testing that we throw an exception, test that we *don't* throw an exception and mark the test TODO. When we fix the bug your tests will pass | |||
| Yuki`N | Oh those are actually bugs? ._. | 02:57 | |
| whiteknight | yes. We should support other types of inputs, but we don't | 02:58 | |
| bug | |||
| Yuki`N | Ah. | ||
| So instead of my exception handler setting something true it needs to set it false. | |||
| whiteknight | right | 02:59 | |
| there should be a todo function somewhere, or something that marks it todo | |||
| Yuki`N | Yeah, it's todo() | ||
| Oh, and as to PIR with unicode. | 03:00 | ||
| Found this: $P0 = box unicode:"ē§ć ć¦ćŖ" | |||
|
03:01
cotto joined
|
|||
| cotto | ~~ | 03:02 | |
| Yuki`N | whiteknight, should I close that pull request and open a new one? | ||
| whiteknight | Yuki`N: I don't thnk you need to. I think you can make more commits and add new commits to the request | ||
| kapace_ | whiteknight: can I print, or output debug in the test files/ | 03:03 | |
| Yuki`N | Oh it automatically added my commits. | ||
| whiteknight | kapace_: there is a diag() function to output diagnostics stuff | 03:04 | |
| kapace_ | ok, thanks | ||
| plobsing | cotto: www.fileformat.info/info/unicode/ch.../index.htm | 03:06 | |
| whiteknight has to go to bed now. Goodnight | 03:07 | ||
|
03:07
whiteknight left
|
|||
| dukeleto made it to the lorito meeting | 03:08 | ||
|
03:11
dalek left,
sorear left
03:12
p6eval left,
TimToady left
|
|||
| pmichaud | apologies for missing the lorito meeting | 03:43 | |
|
03:48
bluescreen left
|
|||
| plobsing | aloha: msg whiteknight does src/exceptions.c:Parrot_ex_add_c_handler fit into your grand scheme for the native API? if so how? if not, why? | 03:59 | |
| aloha | plobsing: OK. I'll deliver the message. | ||
| dukeleto | pmichaud: we are still talking | 04:04 | |
| atrodo | dukeleto> going well I assume? | 04:05 | |
| plobsing | dukeleto: will there be notes? | ||
|
04:05
TypeNameHere_____ joined
|
|||
| kapace_ | any mentors around? dpaste.com/285095/ | 04:10 | |
|
04:11
TypeNameHere_____ left
|
|||
| plobsing | kapace_: I suspect for PLA-related tasks such as that, whiteknight (NA east cost, went to bed 1h ago) is the only person who can give a definitive yea/nay on the task. I could be wrong. | 04:14 | |
| kapace_ | ok. maybe someone could accept the claim, in the meantime? www.google-melange.com/gci/task/sho...9151938222 | 04:15 | |
| dukeleto | atrodo: yes, much talk about Lorito and our new MOP | 04:18 | |
| plobsing: yes, many notes | |||
| kapace_: yep | |||
| kapace_ | dukeleto: awesome, thanks | ||
| kapace_ plays Wesnoth 'till whiteknight returns... | 04:19 | ||
| plobsing | kapace_: you may want to 'aloha msg' him to avoid waiting around for manual delivery | 04:20 | |
| kapace_ | ok | 04:21 | |
| aloha: msg whiteknight dpaste.com/285095/ I wrote the tests in PIR, I hope thats OK... | |||
| aloha | kapace_: OK. I'll deliver the message. | ||
| dukeleto | kapace_: done | ||
| kapace_ | ill post it to melange as well, in case he accepts.. | 04:22 | |
| dukeleto | atrodo: what is the status of your lorito stuff? | ||
| atrodo | dukeleto> Functional to a degree. It runs and I've just started writing a pmc hash and resizable pmc array | 04:24 | |
| dukeleto | atrodo: "make test" fails for me on master | 04:27 | |
| atrodo | dukeleto> Tests are rather lacking as well | ||
| dukeleto | atrodo: gist.github.com/735786 | 04:28 | |
| atrodo | dukeleto> not what i was expecting actually | ||
|
04:30
particle left
04:32
particle joined
|
|||
| atrodo | dukeleto> Thanks. I fixed that test, and I know that 90_fib.t will fail. | 04:33 | |
| dukeleto | atrodo: hokey dokey | 04:34 | |
| atrodo: where can i read about each opcode that your lorito implements? Is there a list somewhere? | 04:36 | ||
| atrodo | dukeleto> github.com/atrodo/lorito/blob/master/ops.pod | ||
| dukeleto | atrodo: that is a great doc. I love that you have a "reason" subsection. That is really useful! | 04:40 | |
| atrodo | dukeleto> thanks. | 04:42 | |
|
04:54
p6eval joined
04:55
dalek joined
|
|||
| dukeleto | atrodo: how do allocate memory in your lorito? | 05:03 | |
| atrodo: s/how do/how do you/ | |||
| atrodo: is it possible to call C functions from your lorito? Doesn't look like it to me. | 05:04 | ||
| atrodo | dukeleto> primarily malloc/realloc since I don't have a gc yet. Was that what you meant? | 05:05 | |
| dukeleto> calling C is possible. It must conform to an exact function signature | 05:06 | ||
| Yuki`N | Am I doing something wrong or did I find a bug? pastebin.com/BPcfb0Ta | 05:07 | |
| dukeleto | atrodo: which op allows calling c? | ||
| atrodo | dukeleto> call | ||
| dukeleto | atrodo: we are talking about needing an alloc op at M0 | ||
|
05:08
sorear joined
|
|||
| atrodo | dukeleto> my PMCs are allocated memory | 05:08 | |
| dukeleto | Yuki`N: you are not assigning the value of the multiply op | ||
|
05:08
TimToady joined
|
|||
| dukeleto | Yuki`N: $P0 = mul $P0, $P1 | 05:08 | |
| atrodo | dukeleto> hmmm, that may not have been clear enough | ||
| dukeleto | Yuki`N: that should fix your issue | ||
| Yuki`N | But mul $P0, $P1 works when 0 and 1 are Integers. | ||
| I'm trying to test MULTI void i_multiply(BigInt value) | 05:09 | ||
| Where that's called by: | |||
| inline op mul(invar PMC, invar PMC) :base_core { | |||
| VTABLE_i_multiply(interp, $1, $2); | |||
| } | |||
| atrodo | dukeleto> My PMCs do not have intrinsic structure. They are a blob of memory that you can manipulate with store/load | ||
| dukeleto | Yuki`N: perhaps you have found a bug. Not quite sure | 05:13 | |
| Yuki`N: the 2 argument form of mul should not be modifying it's arguments | 05:14 | ||
| Yuki`N | Well i_multiply is supposed to do it inplace. | ||
| dukeleto | Yuki`N: see if it works with the 3 arg form of mul | ||
| Yuki`N | It works with the 3-arg form but I need to test the 3-arg form. | 05:16 | |
| *2arg | |||
| All the other 2arg mul's work as expected. | 05:17 | ||
| Only BigInt and Complex don't. | |||
| However they do work as 3arg. | |||
| dukeleto | Yuki`N: perhaps you have found a bug. Write some tests and send an email to parrot-dev explaining what you found | 05:18 | |
| Yuki`N | Should I just excerpt these tests? | ||
| dukeleto | Yuki`N: sure | ||
| Yuki`N | Should I make a trac bug or send to the mailing list? | 05:22 | |
|
05:33
Yuki`N left
05:54
hudnix left
05:55
hudnix joined
05:59
zarchne joined
06:49
Kulag left
06:50
Kulag joined
07:01
theory left
07:25
Kulag left
|
|||
| nopaste | "cotto" at 192.168.1.3 pasted "very raw notes from Lorito braindump" (43 lines) at nopaste.snit.ch/26898 | 07:28 | |
| cotto | msg atrodo nopaste.snit.ch/26898 - here are some rough notes from the braindump | 07:29 | |
| aloha | OK. I'll deliver the message. | ||
|
07:29
Kulag joined
|
|||
| sorear | hello cotto | 07:31 | |
| what's the deadline for the roadmap stuff? | |||
|
07:36
cotto left
07:39
fperrad joined
07:48
fperrad left
|
|||
| tadzik | aloha, any messages for me | 08:06 | |
|
08:06
fperrad joined
|
|||
| tadzik | msg dukeleto very nice, looks good for me. I'd maybe change a few words in a few places but it looks good for me | 08:10 | |
| aloha | OK. I'll deliver the message. | ||
|
09:27
rfw left
|
|||
| dalek | rrot: 6ca3c74 | sygi++ | README.polski: polish translation of README Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net> |
09:40 | |
| rrot: cb0a1c0 | sygi++ | README.polski: tiny corrects Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net> |
|||
| rrot: b94ba6a | sygi++ | README.polski: tiny corrects Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net> |
|||
| rrot: ec8e6e7 | dukeleto++ | NEWS: Add NEWS item about README translations |
|||
| sorear | polski? why not pl_PL | 09:45 | |
|
10:05
JimmyZ joined
10:08
JimmyZ left
10:35
lucian joined
10:49
cotto joined
|
|||
| cotto | ~ | 10:51 | |
|
10:58
contingencyplan left
12:02
smash joined
|
|||
| smash | hello everyone | 12:02 | |
| seen chromatic | 12:03 | ||
| aloha | chromatic was last seen in #parrot 2 days 12 hours ago saying "multidispatch at the core makes vtables much nicer". | ||
|
12:30
zby joined
12:36
bluescreen joined
13:17
jan left
13:41
mtk joined
13:49
AzureStone left
13:50
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:52 | |
|
13:52
AzureStone joined
|
|||
| whiteknight | msg plobsing: src/exceptions.c:Parrot_ex_add_c_handler creates a bit of a problem because it requires the user to create a jmp_buf, which is hardly ideal from a user perspective. Also, because we can't use a jmp_buf into a callframe that is already exited I can't encapsulate the behavior into a proper API call. I would *much* prefer if we could pass C func pointers. For the time-being, I may... | 13:55 | |
| aloha | OK. I'll deliver the message. | ||
| whiteknight | ...require the user to create NCI PMC-based exception handlers, though I'm not sure how | ||
| I sure hope aloha is smart enough to deliver all that | |||
| We may have to create an ExternalExceptionHandler type to use NCI-based handlers that live outside Parrot and it's runloop | 13:56 | ||
| msh kapace_: The code you have looks good and the tests in PIR are okay. Open a pull request on github. I will test, merge, and approve your task. Thanks! | 13:57 | ||
|
14:03
jsut joined
|
|||
| atrodo | hmmm | 14:03 | |
| msg cotto Interesting. Not the direction I was expecting. I'm going to try and comment on it this morning. | 14:04 | ||
| aloha | OK. I'll deliver the message. | ||
|
14:08
jsut_ left
|
|||
| whiteknight | atrodo: yeah, I was surprised by some of it. Pleasantly in many cases, but surprised nonetheless | 14:10 | |
| atrodo | whiteknight> I haven't decided if i'm pleasantly yet or not | ||
| whiteknight | using contexts as the base object instead of the interpreter is very exciting to me. That's going to be a big step towards making us threadable | 14:11 | |
| atrodo | but that's probably just because it was such a radically different direciton | ||
| whiteknight | atrodo: what areas give you pause? | ||
| atrodo: do you have the link handy? | 14:12 | ||
| atrodo | nopaste.snit.ch/26898 | ||
| whiteknight> The context thing. I'm not sure about it yet | |||
| That, and the seemingly tight integration with the new MOP | 14:13 | ||
| But that's off hand, I'm going to go through it line by line and really think about it compared to the direction I had in mind | |||
| whiteknight | I like the context thing because it breaks up the "global" data into individual contexts, which we can arbitrarily schedule across multiple OS threads | ||
| what I don't like necessarily is that it creates a lot of questions about what happens to "global" data like namespaces or metaclass definitions | 14:14 | ||
| like, if we have context-local copies of metaclass definitions, we have multiple OS threads and one of the threads modifies it's local metaclass object, what happens? | 14:15 | ||
| atrodo | I think it creates a lot of questions. Some of it seemed like more hand waving the first read through | ||
| whiteknight | do objects of the "same" class on different threads then have different semantics? do we syncrhonize | ||
| atrodo | That's a good question | ||
| whiteknight | yeah, this is definitely a short report. I am very much looking forward to more details | 14:16 | |
| any implementation we pick is going to have tradeoffs. So if we lose synchronization on globals across threads but we gain killer performance, maybe we go with that | |||
| atrodo | Ideally, I'd like to see the trade off being poor performance when you want sync rather than not be able to sync at all | 14:17 | |
| whiteknight | right, but there's a different between automatic sync and manual sync | 14:18 | |
| the later is a very Erlang-style send-message paradigm | |||
| atrodo | And if we're mimicking more of an asm/microcode level, the latter is much more suited | ||
| whiteknight | right. If we could eliminate automatic cross-thread operations and require the user to manually sync, we sync less, have points of lock contention only where the user specifies, etc | 14:20 | |
| And we can completely eliminate data sharing between threads, which means we don't need a heavy STM implementation, we don't need a GIL, etc | |||
| atrodo | Exactly. Those type of models can be built upon on top of this level | 14:22 | |
| although, it does bring up the question of interop. If all the HLLs do their own thing, thread-safe becomes quite tricky | 14:23 | ||
|
14:25
jsut_ joined
|
|||
| whiteknight | If all PMCs get a unique ID key number, which is preserved on cross-thread copy, we can manually sync a PMC with a different thread by passing in a reference to the target thread to take the update. That thread looks up the specified PMC with the same ID number and does the copy internally | 14:25 | |
| if we do that internally, all an HLL needs to do is call the "update_to" method on the PMC and everything happens magically | 14:26 | ||
| atrodo | That sounds like a pretty good idea | ||
| whiteknight | that way we only update to a PMC that is a clone of the current one, which means it should have the same object type and type semantics | 14:27 | |
|
14:29
jsut left
14:33
redicaps joined
|
|||
| atrodo | Yea, that sounds very usable | 14:34 | |
| redicaps | Hi there, I can not compile parrot on Cygwin . I got error like this | 14:36 | |
| Can't spawn child process | |||
| current instr.: 'compile_file' pc 1068 (tools/dev/pbc_to_exe.pir:616) | |||
| whiteknight | Again, where we run into problems is verifing that the metaclass is the same between threads. We would need a fast comparison to see if metaclasses are equivalent. a quick SHA1 hash of it would serve the purpose | ||
| redicaps: hello. Thanks for the report | 14:37 | ||
| I thought we were building on Parrot | |||
| er, building on Cygwin | |||
| redicaps | Do you need more details? | 14:38 | |
| fatal error - unable to remap \\\\?\\C:\\cygwin\\home\\woosley\\rakudo\\parrot\\runtime\\parrot\\dynext\\os.dll to same address as parent: 0x210000 != 0x230000 | |||
| whiteknight | redicaps: yeah, can you nopaste as much of your console output as you have available? | 14:39 | |
| aloha: nopaste? | |||
| aloha | whiteknight: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) | ||
| nopaste | "redicaps" at 192.168.1.3 pasted "compile error on Cygwin" (15 lines) at nopaste.snit.ch/26922 | 14:40 | |
| atrodo | dukgo gave me tersesystems.com/2006/03/18/unable-to-remap | 14:43 | |
| Actually, more digging has pointed me to the readme_cygwin github.com/parrot/parrot/blob/mast...cygwin.pod | 14:45 | ||
| redicaps | rebaseall seems not working out, let me follow the README | 14:52 | |
|
14:55
lucian left
|
|||
| whiteknight | redicaps: weird. | 14:55 | |
| redicaps | No luck here, I still get the same error | 15:03 | |
| whiteknight | redicaps: I'm sorry to hear that. I don't think we have any devs working on cygwin right now who might be able to give more in-depth help | 15:05 | |
| what problem were you getting with the rebaseall thing? | |||
| redicaps | I think Command rebaseall just works, It reports some dll skipped because nonexistent | 15:08 | |
|
15:13
redicaps left
|
|||
| whiteknight | okay | 15:14 | |
| dalek | nxed: r707 | NotFound++ | trunk/examples/ajax.winxed: use keyed new in example ajax to avoid warnings |
15:36 | |
|
15:39
Patterner left
|
|||
| cotto_work | ~~ | 15:46 | |
| atrodo | Morning cotto_work | ||
| cotto_work | morning, atrodo | ||
|
15:48
hercynium joined
|
|||
| cotto_work | chromatic and dukeleto had really good things to say about your Lorito prototype. | 15:48 | |
| atrodo | cotto_work> Glad to hear | 15:49 | |
|
15:49
Psyche^ joined
15:50
Psyche^ is now known as Patterner
|
|||
| cotto_work | It'll be into next week before I can type the braindump notes into something more coherent. Is there anything that stands out that you have questions about? | 15:50 | |
| atrodo | cotto_work> Remind me what REPR/HOW is? | ||
| cotto_work | 6guts.wordpress.com/2010/10/15/slid...ymorphism/ | ||
| atrodo | already working on it. Trying to process it now | ||
| cotto_work | We'll be using a port (by chromatic) of jnthn's MOP for all objects. | 15:51 | |
| whiteknight | nice. | ||
| so who do idle hands go to for help: chromatic or jnthn? | |||
| cotto_work | REPR is the way an object is stored. HOW is everything else about the object. (my understanding) | 15:52 | |
| atrodo | cotto_work> Thanks. Once I got into that blog, I remembered | ||
| I am slightly concerned at this point about forcing the MOP so invasive onto such a low level representation, but we'll see as I work through this | 15:53 | ||
| whiteknight | cotto_work: I've got a number of questions about the dump, specifically pertaining to concurrency. I'm sure allison has that angle in mind herself, but I want to make sure certain issues are being considered | ||
| cotto_work | whiteknight: ok | 15:55 | |
|
15:59
fbrito joined
|
|||
| kapace_ | whiteknight: so I've never done a git pull request before.. I branch PLA and add my changes | 16:01 | |
| then make a pull request? | |||
|
16:02
dmalcolm joined
|
|||
| whiteknight | kapace_: Do you have a fork on github? | 16:09 | |
| kapace_: If it's a hassle, I can apply your patch directly here | 16:10 | ||
| that would be fine too if you want | |||
|
16:12
zby left
|
|||
| kapace_ | whiteknight: i made my github account | 16:13 | |
| and I forked PLA just now | |||
| thing is I have to leave for school, so I'll have to finish this later | |||
| whiteknight: github.com/kapace/parrot-linear-algebra hope i did this right | 16:21 | ||
| kapace_ runs off to school | 16:22 | ||
| plobsing | āā | 16:24 | |
| cotto_work | whiteknight: what concerns do you have? | ||
| plobsing | whiteknight: what is problematic about users providing C<jmp_buf>s? (not that I'm entirely sad to see Parrot_ex_add_c_handler go, the implementation requires Sub.pmc to be too smart for its own good) | 16:29 | |
| atrodo | cotto_work> gist.github.com/736285 # First rounds of comments. Not sure if POD was a good idea to comment in. | 16:35 | |
| plobsing | atrodo: might want to break those long lines next time, gist is cutting them off. | 16:37 | |
| atrodo | plobsing> ha, good point. | ||
| cotto_work | atrodo: I'm not sure about pod either for that, but it's a rough idea anyway | 16:39 | |
| thanks for the thoughts. reading now | |||
| atrodo | Great, google maps no longer tells you how many miles your trip is | 16:40 | |
| cotto_work | immutable contexts was an idea that chromatic had. It may or may not be workable. | ||
| my trip? | |||
| atrodo | your as in the generic user of the software | ||
| I wanted to see how many miles portland was. google maps won't tell me | 16:41 | ||
| *miles away Portland was | 16:42 | ||
| plobsing is confuzzled by the direction lorito is taking on nci | 16:43 | ||
| whiteknight | plobsing: jmp_buf is really just a sub-optimal error-handling mechanism | 16:44 | |
| plobsing | whiteknight: there's an optimal one? | 16:45 | |
|
16:45
kapace_school joined
|
|||
| whiteknight | I would far prefer to be able to pass in a function pointer instead because you don't need to worry about jumping to a non-existing stack frame | 16:45 | |
| plobsing: in the sense that it's messy, confusing, and error-prone | |||
| a function pointer is a little more straight-forward | |||
| fbrito | hey guys, I am having problems writing tests (GCI task) for operations (add and subtract) between NumMatrix2D and ComplexMatrix2D, because I don't know exactly how complex numbers works :( | ||
| whiteknight | plobsing: not to mention the issues you mentioned, with ExceptionHandler and Sub now needing to be really smart, etc | ||
| fbrito: Sure, what problems are you having? | 16:46 | ||
| plobsing | whiteknight: its not just exceptions forcing stuff on subs. look at all the different types of flags that can be applied to a sub during its lifetime. *NONE* of them are information the sub needs. They're all information other subsystems are too lazy to keep track of themselves. | 16:47 | |
| whiteknight | msg kapace_: Yes, that's right. Don't worry about a pull request, I'll just pull the commit directly now. Thanks! | ||
| aloha | OK. I'll deliver the message. | ||
| kapace_school | whiteknight: im here | 16:48 | |
| whiteknight | plobsing: right. No argument there | ||
| fbrito | whiteknight: ahhh, my bad. I just figured out that I have to leave :( | ||
| whiteknight | kapace_school: okay. I'm going to merge your changes, test, commit, and approve your task | ||
| kapace_school | ok thanks :) | ||
| cotto_work | NotFound: ping | ||
| NotFound | cotto_work: pong | 16:50 | |
| plobsing | Are you a vtable? Are you a method? Are you a continuation? Are you a generator? Are you a main sub? None of these are answers a sub needs to know how to provide. | ||
|
16:51
user joined
16:52
user left,
theory joined
|
|||
| cotto_work | NotFound: can you review github.com/pitoco/parrot/blob/c00dae ? | 16:53 | |
| whiteknight | plobsing: that's true, but at the same time those are decorations that do apply to the sub | ||
| plobsing: we don't attach :main to a ResizablePMCArray | |||
| (We may want to attach it to a MultiSub, or something else more exotic, but that's a different issue) | 16:54 | ||
| cotto_work | NotFound: sorry. this one: github.com/pitoco/parrot/blob/c00d...451/README | ||
| whiteknight | plobsing: In reality, a compiler should return a PackFile PMC. That PackFile should be able to tell us "Which is your :main Sub?" and return that, or be able to return a list of subs by name, or be able to execute :load or :init subs | 16:55 | |
| NotFound | cotto_work: my eyes hurt | ||
| cotto_work | do you mean that the README isn't very good? | 16:56 | |
| plobsing | whiteknight: I *want* to attach main to arbitrary PMCs. (1) so people can have main subs that implement invocable but don't subclass sub. (2) packfiles can be more than just code, a data packfile should be able to have an arbitrary PMC as the "main" pmc (I want to use this for freeze/thaw). | ||
| atrodo: why use only a single signature for nci subs? that a throwback to bad old perl5 xs. I can think of a number of ways of streamlining NCI (fewer supported types, less indirection, etc). | |||
| NotFound | cotto_work: looks like an automatic translation. | ||
| plobsing | whiteknight: :load/:init distinction is wrong. There should only be one "call this before calling main" type. It shouldn't matter where the packfile came from. | 16:57 | |
| cotto_work | NotFound: is github.com/pitoco/parrot/blob/6a7f...a13/README any better? I didn't notice that he made some revisions. | 16:58 | |
| He says he's native Spanish speaker. | |||
| atrodo | plobsing> Yes and no. NCI should still be supported. But when lorito calls C, I want that transition to be streamlined | ||
| NotFound | cotto_work: no native speaker that I know can write "Parrot Bajo Los Derechos del Autor" | 16:59 | |
| plobsing | atrodo: the "single signature" interface is the op interface. why have 2 levels of single-sig? | ||
| atrodo | plobsing> So instead of adding the complexity to lorito in how to translate and call a NCI method, we pass that complexity onto delegate C function | ||
| plobsing | atrodo: you're just passing the buck and in doing so making it harder to do the task right or efficiently | 17:00 | |
| whiteknight | plobsing: I don't find much to disagree with what you said. | ||
| atrodo | plobsing> Then I suspect we have a miscommunication | ||
| cotto_work | NotFound: that's disappointing. It looks like the fixes might have been cleaning up after an automatic translation. I'll what I get if I put the README through Google translate. | 17:01 | |
| atrodo | hold on | ||
| whiteknight | :main should be attachable to any sub as determined by the Compiler. The packfile should have a PMC * main attribute that the compiler can fill with anything and that we can query | ||
| :load/:init is wrong and extremely problematic. Much code can be cleaned up significantly or deleted entirely without that garbage | |||
| NotFound | google gives some results for "bajo los derechos del autor", most look like foreign translators, but maybe some are native. Maybe I'm wrong, but is not a current usage in Spain at least. | 17:02 | |
| plobsing | whiteknight: fully agree, my current task is to untangle things enough to hook things up that way. | ||
| whiteknight | plobsing: For NCI with multiple signatures, are you thinking of something like MultiSub with NCI members? If so we can get that to work pretty cheaply by unifying NCI and PCC signatures | ||
| assuming it's "cheap" to unify those things | 17:03 | ||
| plobsing | one implementation I can envision (at M0) is an "nci_call" op that takes an array of flags and can pull things directly out of registers | ||
| whiteknight | (I think it is. Agreeing on the design will be the hardest part) | ||
| that's something I was thinking of too | |||
| brb, food | |||
| cotto_work | NotFound: it's not identical to what Google translate comes up with. | 17:04 | |
|
17:04
ligne left
|
|||
| NotFound | cotto_work: is no the worst translation I've seen, but is a good example of what I have in mind when I say that I prefer not having translations better than having bad an incaurate ones. | 17:04 | |
| kapace_school | cotto_work: I know the guy, he just doesn't know english too well, so i think he got a little help from google translate with the copyright part | 17:05 | |
| plobsing | unifying pcc and nci signatures is a bad idea. pcc does things nci doesn't want to do. nci does things pcc can't even dream about. NCI is currently complicated by the fact that it *has* to talk pcc. take that away, give it an interface that fits it better, and things get easier (for the NCI implementor, likely me). | ||
| cotto_work | kapace_school: thanks. | 17:06 | |
| NotFound | I'm not saying that is cheat using software, just sayd that looks as bad as automatics. | ||
| cotto_work | NotFound: do you think it's worth putting in the repo? | ||
| NotFound | cotto_work: no | ||
| atrodo | plobsing> In my little lorito world, you have two types of PMCs that are callable. Codesegs and CFunctions. Codesegs are byte code, CFunctions are functions adhering to the single signature. That signature is the interp, the context and an array of PMC arguments, just like the codeseg receives. This allows the CFunctions, which could be a nci/ffi translation function, to translate those... | 17:07 | |
| ...arguments and call the final C call. | |||
| kapace_school | I agree, I think he should clean it up, go over it again | ||
| fbrito | (so, I have never studied complex numbers in school, so I will have to make really stupid questions right now :P) 3 + "1+1i" = 4, right? | 17:09 | |
| PerlJam | fbrito: no | ||
| fbrito | oh | ||
| plobsing | atrodo: treating cfuntions as PMCs is the wrong way to go for something being compiled down to C - way too dynamic for most cases. | 17:10 | |
| NotFound | That depends. If you convert the string "1+1i" to number or itegere, you just get the "1" | ||
| cotto_work | kapace_school: thanks. That's what I've recommended. | ||
| PerlJam | fbrito: 3 + <1 + 1i> == <4 + 1i> | ||
| fbrito: add the real parts and imaginary parts separately. | 17:11 | ||
| fbrito | ah, forgot to explain all the details :P | ||
| I am working on a GCI task to add "addition/subtraction" of Complex and PMC Matrixs to Numerical Matrix, so I must return a Numerical Matrix | |||
| (www.google-melange.com/gci/task/sho...151957121) | 17:13 | ||
| plobsing | atrodo: also, array of PMC arguments requires callers to encapsulate arguments in PMCs even when neither the caller nor the callee have any use for such encapsulation. direct register manipulation guided by flags gives a means of providing access to any and all functionality without unnecessary abstraction layers. | ||
| you could of course implement a "pass an array of PMCs" system on top of this | 17:14 | ||
| fbrito | VTABLE_get_number on "1+1i" returns 1, right? | ||
| atrodo | plobsing> Then I must have misunderstood. I thought one of the guiding principles of lorito was to simplify/speed up calls, C or otherwise. My design has been based around that | 17:16 | |
| But if simplification is not an issue, then yes, flags and register manipulation as it exists today would work | 17:17 | ||
| plobsing | it is. having unecessary abstraction layers is counter productive for speed | ||
| the way I see this working is something along the lines of "nci_call 'function_name', [flag0, flag1, etc]". You can build an abstracted system on top of this (eg: using dlfunc and CFunction PMCs), but the lowest levels need to be fast. | 17:19 | ||
| moritz | fbrito: sadly parrot's numification vtables only support built-in numeric types. Which means you're pretty much screwed when it comes to non-built-in types (Complex, bigint and so on) | ||
| whiteknight | plobsing: I agree that NCI and PCC signatures aren't directly interchangable, but you can use the same "grammar" to compose them and understand them | 17:23 | |
| fbrito | moritz: hm, I see... but I will go over my code again, because additions between Numerical and Complex matrices are working fine for me, but subtraction is not. Maybe I did something wrong | 17:24 | |
| plobsing | whiteknight: I'm actually moving away from string signatures altogether. gives people too many expectations of "readability", an attribute that is *way* too subjective. | ||
| whiteknight | plobsing: PCC signatures have the nice benefit that the function pass and return values are clearly separated, that we use capital letters to show the Parrot type (INSP) being operated on, etc | 17:25 | |
| a pointer taken from a PMC is different from a pointer taken from a STRING. We could have Pv and Sv respectively to show how the Parrot type interacts with the native type for the call | |||
| fbrito: let me know if there is any code you want me to look at | 17:26 | ||
| plobsing | whiteknight: I agree its nice. But whenever we've discussed changing NCI signatures, it's become a bikeshed-fest. Couple that with the problems we've had in the past for *parsing* these signatures, and you might get an idea of why I don't like the idea of signature strings. | ||
|
17:27
allison left
|
|||
| whiteknight | plobsing: like I said, coming up with a workable design is going to be much harder than any particular implementation | 17:27 | |
| plobsing: if not string signatures, what? FixedIntegerArrays like we used in days of yore? | 17:28 | ||
| plobsing | that's what the internals are using now. I got fed up and decreed "you want the strings? you can't handle the strings!" | ||
| whiteknight | (plobsing: I really feel like I need to set aside some time one day to really pick your brain in-depth about some of these issues) | ||
| it seems like everything that I want to see done, from removing IMCC, cleaning up exceptions, handlers, and Subs, and getting a workable API with respect to these things all hinge on our ability to redesign/reimplement proper PackFile PMCs | 17:32 | ||
| dalek | TT #1886 created by coke++: set_string_native() not implemented in class 'TclString' | ||
| TT #1886: trac.parrot.org/parrot/ticket/1886 | |||
| cotto_work | One of the subjects of interest last night was Factor's ffi, "alien". atrodo or plobsing, do either of you have the tuits to look into how it works? | 17:33 | |
| plobsing | I know Foctor uses libffi internally. | ||
| and I've looked into how libffi works | |||
| atrodo | cotto_work> what was the main pique in interest with Factor? | 17:34 | |
| plobsing | it's just pretty syntax. parrot NCI and M0 especially shouldn't be concerned with having pretty syntax. | ||
| whiteknight | EXACTLY | 17:35 | |
| cotto_work | atrodo: figuring out a sane ffi that doesn't exclude win64 and msvc | ||
| atrodo | cotto_work> and it sounds like Factor can do that? | ||
| whiteknight | cotto_work: for Parrot-internal things, we can keep tight control over things like parameter types and calling conventions, and we can brew our own limited FFI on those systems | 17:36 | |
| cotto_work | whiteknight: sure but M0 will eventually need to interact with external libraries. | ||
| whiteknight | cotto_work: right, that's the hard part. We can go the brew-your-own method now to get the internals working | 17:37 | |
| atrodo | cotto_work> Not a fan of factor's docs so far | ||
| cotto_work | I'd prefer to have only one system if possible. | ||
| plobsing | whiteknight: M0 internals shouldn't use ffi. ffi implies dlfunc. we want static calls when we compile down to C where possible. | ||
| whiteknight | plobsing: right. I'm just making a point | 17:38 | |
| plobsing may have misunderstood | |||
| cotto_work | Static calls imply a C-based runcore though. That's fine during the early implementation but not too much further beyond that. | 17:39 | |
| atrodo | Especially when you start talking about other implementations that are no't written in C | ||
| cotto_work | atrodo: exactly | 17:40 | |
|
17:40
fbrito1 joined
|
|||
| whiteknight | that idea confuses me. what other serious options do we have that aren't written in C or aren't C-compatible? | 17:40 | |
| plobsing | semantics that allow for static calls don't require them | ||
|
17:41
kapace_school left
|
|||
| atrodo | whiteknight> Javascript | 17:41 | |
| whiteknight | and are we talking about the Lorito assembler, or the actual Lorito runcore? | ||
| plobsing | wait, lorito is low-level, but still somehow abstract enough to run on javascript? can I have a puff of whatever you're smoking? | 17:42 | |
| whiteknight | The first is fine to write in whatever language we want to waste our time with. The second brings serious performance implications that would make Parrot unusable in most cases | ||
| plobsing: exactly. A Lorito runcore written in JavaScript is nice as a "hey we did it" academic exercise, but it worthless in reality | |||
| cotto_work | whiteknight: different Lorito interps serve different purposes. | 17:43 | |
|
17:43
fbrito left
|
|||
| whiteknight | cotto_work: perhaps my hangup here is that I can't invision a different purpose where the performance problems of e.g. running Parrot on JavaScript wouldn't be a huge limiting factor | 17:43 | |
|
17:44
dip left
|
|||
| atrodo | whiteknight> Let's say we have a firefox plugin that allows it to load bytecode and run parrot code instead of javascript. What happens when we don't have that plugin? What if we could also have a javascript that would run the bytecode in those cases? | 17:44 | |
| cotto_work | I'm not sure if a hll implementation would be terribly useful beyond the prototyping stage. | ||
| (apart from something like atrodo suggested) | |||
| whiteknight | atrodo: If we don't have the plugin, I don't think the answer should be "Run so slowly that everybody learns to hate and avoid Parrot" | ||
| or "surprise the poor user with abnormally low performance" | 17:45 | ||
| cotto_work | whiteknight: gtw compiles java to classes to js. | ||
| atrodo | But who's to say how slow it would be? Have you seen the amazing things people are doing with javascript these days? I hardly call some that slow | ||
| Or, what about java? | |||
| or .net? | |||
| whiteknight | cotto_work: And how many people in this world are using gtw for serious things? And is the performance any good? | ||
| fbrito1 | whiteknight: this is what I have so far: pastie.org/1365776 | 17:46 | |
| (task: www.google-melange.com/gci/task/sho...151957121) | |||
| cotto_work | whiteknight: istr that they use it for gmail | ||
|
17:46
fbrito1 is now known as fbrito
|
|||
| whiteknight | fbrito: that failing test you have looks correct | 17:48 | |
| fbrito | oh wait, ahhaa | ||
| copied the wrong result, sorry | |||
| whiteknight | cotto_work, atrodo: I'm not going to suggest that we cannot ever build a Lorito runcore on JavaScript or anywhere else, but the primary libparrot implementation needs to be done in something low-level and speedy | 17:50 | |
| plobsing | code.google.com/p/emscripten/ - a C implementation gives you a Javascript implementation | ||
| no need for javascript considerations | |||
| cotto_work | whiteknight: I agree. I'm just saying that it's important to be able to have sever implementations of the M0 interp. | 17:51 | |
| whiteknight | cotto_work: I'll just have to follow your lead on that one, because I am not going to be losing any sleep over that particular consideration | ||
| cotto_work | *several | 17:52 | |
| fbrito | whiteknight: pastie.org/1365776 take a look again, please | ||
| whiteknight | Parrot is not just a small Lorito runcore, it's a substantial runtime environment as well. Writing a runcore in language X is basically worthless if we don't have a runtime to use with it | ||
| of course eventually most of our codebase will be written in M0 itself | 17:53 | ||
| cotto_work | Yes. That's when it gets interesting. | ||
| well, more interesting | |||
| atrodo | whiteknight> Which makes the ability to have other implementations very feasible. | ||
| fbrito | whiteknight: ah, nevermind. I think I found what was wrong | 17:54 | |
| plobsing | most. but without call-outs to C, you can't really be very useful as a desktop VM. | ||
| whiteknight | atrodo: Like I said, I'll go along with it | ||
| plobsing | Parrot *wants* to be able to deal with files and directories and syscalls. Large swaths of our codebase handle these things. None of those have any meaning to JS. | 17:55 | |
| whiteknight | plobsing: they could to a desktop JS interpreter, but certainly not JS-in-browser | ||
| cotto_work: some of the questions I had that I mentioned earlier involving concurrency aspects | 17:56 | ||
| plobsing | Any reason someone would be compiling lorito to JS to run in node? Other than because they can? | ||
| whiteknight | If interp is going away and we have contexts as the new object being passed around, what happens to data that wants to be global (namespaces, metaclass definitions, the IGLOBALS array, etc)? | 17:57 | |
| cotto_work | What do you mean my "in node"? | ||
| atrodo | cotto_work> node.js | ||
| cotto_work | ah | ||
| whiteknight | plobsing: Actually, I'm hoping it goes the other way around and people are running JavaScript-on-Parrot instead of node.js | ||
| so for instance if we have two threads running simultaneously, I assume each of them have their own parent Context. If one of them does "$P0 = new ['Foo']", where does it look up the definition of Foo? | 17:58 | ||
| plobsing | what about jshll-on-jsparrot-on-jshll-on-cparrot? XD | ||
| whiteknight | and do both threads share the same metaclass object? | ||
| if we share, we obviously need to put locks and other sync crap around every single instantiate call, every single find_method call, etc. And those are going to happen a lot | 17:59 | ||
| But if we copy, we get into situations where "$P0 = new ['Foo']" on one thread creates a very different and possible incompatible object than that same line on a different thread | 18:00 | ||
| cotto_work | plobsing: put GGE on Rakudo on that and you have a winner | ||
| whiteknight | Obviously how ever we want to go about threading there are going to be pros and cons. I just want to know what the strategy is | 18:01 | |
| cotto_work | whiteknight: that may be desirable for e.g. PL/something where you don't want the interp to be able to do any damage | ||
| whiteknight | cotto_work: what, the unsynchronized copies? It does have benefits in terms of performance (no implicit synchronization, no locking), but is bound to create some lots of PEBKAC bugs and understanding fialures | 18:02 | |
| plobsing | whiteknight: I like message passing for that. Multicast for things like addmethod. You're consistent only when you've received all the ACKs. (I haven't considered contention yet). | ||
|
18:03
fbrito left
|
|||
| whiteknight | But we also run into problems where to share a Foo from Thread A, we need to share it's metaclass too, which may create a conflict with a similiarly-named but internally-different Foo on Thread B | 18:03 | |
| plobsing: yes, I just want to make sure everybody is aware that concurrency is a big thing which Parrot doesn't current support and we need to keep it in mind because we can't not support it forever | 18:04 | ||
| I don't even care if it's threads or pthreads, or whatever. We could use stackless threads or Erlang-style actors, or anything | |||
| or we could go the Python route (I hope not) and threads are basically forks | 18:05 | ||
|
18:06
fbrito joined
|
|||
| whiteknight | cotto_work: I would also like some clarification on point A in the braindump: Why do we want Strings to be PMCs, but keep them in separate registers? | 18:07 | |
| blah. I think what I need to do is spend a lot more time with this braindump and a Quija board, write out a few rambling blog posts, and attain Nirvana | 18:09 | ||
| cotto_work | Unifying them means simpler code and fewer paths, but I don't recall the reason for having separate registers. | ||
| whiteknight | it will be a slow process | ||
| atrodo | whiteknight> obtain | ||
| cotto_work | dukeleto might remember | 18:10 | |
| whiteknight | atrodo: attain | ||
| cotto_work | or I might after I get a decent amount of sleep | ||
| atrodo | whiteknight> New word of the day! Hurray! | ||
| whiteknight | :) | ||
| fbrito: where are you now? Ready to start talking merger? | 18:11 | ||
|
18:11
contingencyplan joined
|
|||
| atrodo | cotto_work> I kept the S register, but changed it to symbol, not string. So strings become real PMCs | 18:11 | |
| fbrito | whiteknight: yes :D. just a second | 18:12 | |
| whiteknight | atrodo: okay, so what are symbols? | ||
| plobsing | since we're talking lorito, one feature I've found missing in Parrot is smalltalk's "become:". It needs support from low-levels of the VM (esp. GC). Not sure if that should be under consideration. | ||
| cotto_work | whiteknight: interred strings | ||
| plobsing: what does that do? | |||
| whiteknight: not unlike CONST_STRING now in C | 18:13 | ||
| plobsing | cotto_work: gbracha.blogspot.com/2009/07/miracl...ecome.html | ||
| cotto_work | is a miracle | ||
| plobsing | I wanted it for lazy constants | 18:14 | |
| whiteknight | I imagine that implementing "become" would require a 2-part PMC structure (container/value), which would go a long way towards solving many other problems we have | 18:16 | |
| copying/compacting GC, l-value semantics, etc | |||
| cotto_work | whiteknight: that sounds not unlike REPR/HOW | ||
| whiteknight | cotto_work: no, not entirely | ||
| atrodo | cotto_work> In a P&W sort of sense, would become be as easy as swapping the lookup and vtable? | 18:17 | |
| or am i missing something subtle? | 18:18 | ||
| plobsing | P&W are smalltalkers. I think they would have mentioned that somewhere if it did. | ||
| atrodo | aloha, p&w? | 18:19 | |
| aloha | atrodo: p&w is tinyurl.com/23dfwut | ||
| plobsing | I assume they are the same p&w behind ometa. and cola. and all those other awesome things. | ||
| atrodo | no mention in the paper about become | 18:20 | |
| dalek | rrot-linear-algebra: beda2ad | kapace++ | / (2 files): Addition and Subtraction for ComplexMatrix2D and NumMatrix2D or PMCMatrix2D |
18:21 | |
| cotto_work | atrodo: I think so but I need to understand become better. | 18:22 | |
| plobsing | but it would be really cool if lorito's architecture turned out to make become: trivial. | 18:23 | |
| atrodo | The way the blog talks about it, you have to look for all pointers to it and change it to point to something new. Couldn't you just clone that something new into the the original refrence? | ||
| fbrito | whiteknight: here it is :) github.com/Whiteknight/parrot-line...ra/pull/27 please, tell me if there is anything wrong | ||
| atrodo | and vis-versa | ||
| plobsing | atrodo: I think that's how the object-table implementation worked | 18:24 | |
| whiteknight | fbrito: nice. testing now | 18:26 | |
| dukeleto | hola | 18:28 | |
| whiteknight | fbrito: pushed. I'm closing the task now. Congrats! | ||
| fbrito | oh wait, I have to submit the work on the task | 18:29 | |
| dukeleto | NotFound: ping | ||
| whiteknight | yes, do that | ||
| cotto_work | dukeleto: do you happen to recall why we decided on separate registers for Strings while using the same internals as PMCs? | 18:30 | |
| fbrito | whiteknight: ok, done | 18:31 | |
| dalek | rrot-linear-algebra: ce12197 | fernandobrito++ | t/pmc/nummatrix2d.t: Add add/subtract tests on NumMatrix2D |
18:32 | |
| rrot-linear-algebra: 2f1c96c | fernandobrito++ | src/pmc/nummatrix2d.pmc: Add/Subtract other matrix types in NumMatrix2D |
|||
| dukeleto | cotto_work: i think it was so that the GC-related code for dealing with them could be unified | ||
| rrot-linear-algebra: ff22df3 | Whiteknight++ | src/pmc/complexmatrix2d.pmc: fix ComplexMatrix2D.conjugate so it works again on non-square matrices |
|||
| rrot-linear-algebra: 71df47f | Whiteknight++ | t/methods/complexmatrix2d/row_combine.t: fix ComplexMatrix2D.row_combine test |
|||
| rrot-linear-algebra: 5494b0c | fernandobrito++ | t/pmc/nummatrix2d.t: [t] Add/Subtract other matrix types in NumMatrix2D |
|||
| rrot-linear-algebra: a129e9c | Whiteknight++ | / (2 files): Merge remote branch 'origin/gci_nummatrix' |
|||
| cotto_work | dukeleto: I'm asking why they retain separate registers. | ||
| dukeleto | cotto_work: i am not sure we have a good reason for that. | 18:33 | |
| cotto_work: it might have performance reasons. | |||
| cotto_work: i am not sure, but objects and strings probably have different usage patterns, and perhaps the GC and/or allocator/etc can utilize that information | 18:34 | ||
| cotto_work: but i think we could still go either way. I don't know of a definitive reason to have S/P or combine them into P. | |||
| cotto_work | I recall that our hope was that the gc would be smart enough to deduce the usage patterns and dtrt. | 18:35 | |
| dukeleto | cotto_work: that begs the question. Why not just have one datatype for integers and numbers? Why do we need I and N? | 18:36 | |
| dukeleto puts on his devils advocate hat | |||
| cotto_work | I'm not entirely sure we need N. | 18:37 | |
|
18:37
fbrito left
|
|||
| cotto_work | actually, js will want it | 18:37 | |
| dukeleto | do we have a Spanish speaker in the house? | 18:38 | |
| cotto_work | well, js will want a numeric value. not necessarily N | ||
| atrodo | actually, and i'm probably alone on this, why don't we also have unsigned ints? | ||
| cotto_work | dukeleto: why? | 18:39 | |
| dukeleto | A GCI student translated our REAME to Spanish: github.com/parrot/parrot/pull/24 | ||
| README, rather | |||
| NotFound | dukeleto: pong | ||
| plobsing | atrodo: I like to think of I-registers as just a piece of space. I can imagine a uadd $I0, $I1, $I2. | 18:40 | |
| dukeleto | atrodo: our plan is to have the default size of ints be the widest we support, then provide ops that act on subsets of the widest ints, which will emulate all the other types of smaller ints | ||
| cotto_work | plobsing: what's what we're looking at | ||
| dukeleto | NotFound: see pull request above, please | ||
| NotFound: am I correct in remembering that Spanish is your mother tongue? | |||
| atrodo | not as alone as i thought. Hurray! | ||
| dukeleto | atrodo: parrot actually does have Uints internally, but PIR doesn't know about them, currently | 18:41 | |
| plobsing | dukeleto: does that mean I get to have movzwq? | ||
| dukeleto | plobsing: tell me what that is supposed to do | ||
| atrodo | I cannot tell you how agitated i was to learn that java completely refused to have anything but signed integers | ||
| plobsing | dukeleto: move a word into a quad using zero-extension (as opposed to sign extension) | 18:42 | |
| NotFound | I told you guys. I dislike very much bad translations. | ||
| plobsing | (used to convert unsigned shorts to unsigned long long) | ||
| dukeleto | NotFound: ? | 18:43 | |
| NotFound: please explain, i don't know what you mean | |||
| NotFound: is the translation horrible? | |||
|
18:43
fbrito joined
|
|||
| dukeleto | NotFound: i took some spanish classes in high school, but I want to know if it sounds reasonable to a native speaker | 18:43 | |
| NotFound | dukeleto: I've seen worses. | ||
| dukeleto | NotFound: is it so bad as to make a Spanish speaker not want to get involved with Parrot? Or is it a good start that can be improved on? | 18:44 | |
| particle | dukeleto: there's talk on this very subject in the logs from earlier today | 18:47 | |
| NotFound | dukeleto: I guess that all spanish people that I know would prefer to read the english version, even the less used to english. | ||
| particle | iirc the last word was 'tell the student to give it a once-over to clean it up' | 18:48 | |
| cotto_work | particle: this is a different file | ||
| particle | ah, apologies. | ||
| dukeleto | we have many translations going on | ||
| cotto_work | np. I was confused too. | ||
| particle | i thought it was README earlier today | ||
| dukeleto | what i am talking about is the spanish translation of the README | ||
| i haven't backlogged, still drinking my first cup of coffee | |||
| NotFound: what about people who only speak spanish and no english? What do they get? Chopped liver? | 18:49 | ||
| cotto_work | no, I'm lying. That's the same file. | ||
| dukeleto | particle: "clean it up" isn't exactly very specific. | ||
| plobsing | dukeleto: worse - esperanto. | 18:50 | |
| particle | dukeleto: check the log around 0900L | ||
| that's 9am local time | |||
| dukeleto | particle: danke | ||
| NotFound | dukeleto: Don't know. There are people that says that they prefer providing bad translations than none. I'm not one of these people. | ||
| particle | i know several spanish language teachers | 18:51 | |
| i could easily convince one or more to have a look this weekend | |||
| if required. | |||
| NotFound | particle: language teacher usually fail on the technical part. | 18:52 | |
| particle | ok, well now i know it's the technical parts that are troubling to you :) | ||
| i might have missed that earlier | |||
| dukeleto | NotFound: can you give me some constructive feedback? Does it just sound rough, or are there things that are actually wrong in the translation? | 18:53 | |
|
18:53
fbrito left
|
|||
| dukeleto | I am leaning towards just merging it and letting people fix it up | 18:53 | |
| cotto_work | dukeleto: I added some comments already to the gci task | ||
| dukeleto | cotto_work++ | 18:54 | |
| whiteknight | my brother knows spanish very well. But I won't be in touch with him until this weekend | ||
| dukeleto | cotto_work: i think we need to think more about how the licensing of LLVM affects Parrot | 18:55 | |
| NotFound | dukeleto: the ugliest parts for native readers are lacks of concordance, | ||
| And the technical confusing parts are words that should not be translated. | |||
| whiteknight | dukeleto: My initial reaction would be "not at all" | 18:56 | |
| dukeleto: licensing only really comes into play if we start hosting their code in our repo | |||
| NotFound | For example ICU -> UCI | ||
| whiteknight | or shipping their code in our tarballs | ||
| dukeleto | whiteknight: not quite | 18:57 | |
| NotFound: ok, i see what you are talking about. It needs more work. Sounds good to me | |||
| whiteknight | dukeleto: what specific concerns do you have? | ||
| dukeleto | whiteknight: LLVM has a special license which has various clauses about patent restrictions | ||
| whiteknight | dukeleto: link? | 18:58 | |
| dukeleto | whiteknight: i.e. that downstream users don't have patent protection or something like that. chromatic was talking about it last night | ||
| whiteknight: i don't have a link | |||
| atrodo | llvm.org/releases/2.8/LICENSE.TXT | ||
| NotFound | "Una bĆŗsqueda en Internet se localizara una variedad de instaladores de git" This doesn't make sense. | ||
| Is agramatical. | 18:59 | ||
| whiteknight | atrodo++ | 19:00 | |
| bluescreen | jeje... notfound totally | ||
| whiteknight | dukeleto; I don't see anything in that license that would have any implications for Parrot | ||
| dukeleto | NotFound: thanks for your feedback | ||
| whiteknight: yes, but that file isn't very useful. Other parts of LLVM have their own licenses, so it could be buried deeper | 19:01 | ||
| whiteknight: we need to ask chromatic where he heard or saw that stuff | |||
| NotFound | Sorry for being rude but, as I said, I hate bad translations. | ||
| bluescreen | who's taking care of spanish translations? | 19:02 | |
| google? | |||
| whiteknight | dukeleto: Okay, we can ask chromatic. I whould be *highly* surprised if anything in the LLVM license or the licenses of it's components would have a negative effect on Parrot | ||
| particle | bluescreen: this particular transation was created by a secondary school student | 19:03 | |
| who may be non-technical, iunno. | |||
| bluescreen | particle are any of these students spanish speakers. | 19:04 | |
| particle | creo que si | ||
| NotFound | Tell it not worry too much, I've read (and paid for) horribly translations written by university teachers. | ||
|
19:04
gbacon_ joined
|
|||
| bluescreen | lol... | 19:04 | |
| particle doesn't know how to quickly write accented characters, so give him a break | 19:05 | ||
| NotFound | (the "paid for" part is the reason of my hate) | ||
| bluescreen | particle no importa, almost anybody uses them in irc/im conversation | ||
| NotFound | particle: ĆƔƱƔƱƔ. | ||
| atrodo | hehe | 19:06 | |
| bluescreen | s/anybody/nobody | ||
| dukeleto | Some of my notes (incomplete) from the Lorito meeting last night: gist.github.com/736628 | 19:07 | |
| whiteknight | If the quality of translation submissions is low, we should make fewer translation tasks for GCI | ||
| dukeleto | whiteknight: our polish translation got good marks for tadzik, so I wouldn't go as far as to say "our translation submissions are low-quality" | ||
| Polish, rather. | 19:08 | ||
| cotto_work | dukeleto: and I thought my notes were raw | ||
| atrodo | dukeleto> gist.github.com/736285/ # My comments on cotto's notes | ||
| i noticed that too cotto_work | |||
| dukeleto | cotto_work: ha! I took various notes in various forms. Those are the ones I typed. | ||
| dukeleto also has a pic of the whiteboard | 19:09 | ||
| plobsing | what is the benifit of these translations? if you don't speak enlish, your odds of getting direct support (almost necessary to use parrot at this point) are very low. Sorry if I sound anglo-centric, but that is my perception of the current state of affairs. | ||
|
19:10
he_ joined
|
|||
| NotFound | plobsing: I completely agree, at least for Spanish part. | 19:10 | |
| whiteknight | we are trying to get more people involved. More developers, including those for whom english is not a first language | ||
| dukeleto | plobsing: i want to fix the anglo-centric feel of Parrot. I want to encourage developers that don't speak English well to get involved | ||
| atrodo | dukeleto> "Immutable context data structure" Can you expand on that? | 19:11 | |
| NotFound | dukeleto: you'll not encourage anyone with bad and incomprehensible texts. | ||
| dukeleto | atrodo: some Contexts can be made immutable | 19:12 | |
| NotFound: Yes. Which is why I want good translations. Is that not clear? | |||
| NotFound | dukeleto: yes, but you don't have them. | ||
| atrodo | dukeleto> So, what is immutable at that point? PC? Registers? Parent Context? | 19:13 | |
| All of the above? | |||
| whiteknight | NotFound: we aren't obligated to put a bad translation in our repo | 19:14 | |
| if the translations are bad, "Thanks but no thanks" | |||
| dukeleto | NotFound: We have a good Polish translation. Are we on the same planet? Are you just playing devils advocate really well? | 19:15 | |
| whiteknight | dukeleto: He's saying that the Spanish translations have been bad | ||
| cotto_work | Isn't it just this one README that's been translated into bad Spanish? | 19:16 | |
| dukeleto | atrodo: i don't think the specifics have been thought about. They need to be explored | ||
| NotFound | dukeleto: I can't judge Polish language, I talk about what I'm asked for: the Spanish ones. | ||
| atrodo | dukeleto> Okay. It just piqued my interest since both you and cotto had that | ||
| dukeleto | NotFound: I appreciate your constructive criticism. We will make the spanish translation better. | 19:17 | |
| cotto_work | chromatic essentially said "write that down so I don't forget to think about it." | ||
| NotFound | dukeleto: I appreciate the effort, but I'm not optimistic about its results. | ||
| dukeleto | NotFound: thanks | ||
| atrodo | cotto_work> :D | ||
|
19:28
Yuki`N joined
19:36
Nol888 joined
|
|||
| kapace_ | Thanks for approval whiteknight, another task bites the dust :) | 19:36 | |
| whiteknight | kapace_: awesome! You're doing great | ||
| I need to make more tasks so you can stay busy! | |||
| kapace_ | for sure, keep them coming! | ||
| Nol888 | whiteknight, I think I found a bug in the Integer PMC, though I'm not sure. | 19:37 | |
| lists.parrot.org/pipermail/parrot-d...05175.html | |||
| cotto_work | Nol888: nice. nopaste what you've got | ||
|
19:37
Yuki`N left
19:38
Nol888 is now known as Yuki`N
|
|||
| whiteknight | Nol888 yes, I read that this morning | 19:38 | |
|
19:39
jan joined
|
|||
| whiteknight | yes, it does look like a bug. Can you submit a ticket on trac.parrot.org/parrot with that info in it? | 19:39 | |
| Yuki`N | Which component is this under? Core? | 19:41 | |
| dalek | TT #1887 created by Yuki`N++: Integer PMC i_multiply bug | 19:43 | |
| TT #1887: trac.parrot.org/parrot/ticket/1887 | |||
| whiteknight | yes, Core | ||
| Yuki`N | Done, as you can see. | 19:44 | |
| :P | |||
| whiteknight | Thanks! | ||
| Yuki`N | And this is why test code coverage is important. :P | 19:45 | |
| Too bad nobody likes writing unit tests. xD | |||
| whiteknight | Yuki'N: Keep those tests in, but mark them TODO so we know when it's fixed | 19:46 | |
| Yuki`N | Ok. | ||
|
19:46
allison joined
|
|||
| Yuki`N | When todo tests pass, does it give special notification? | 19:46 | |
| whiteknight | yes | 19:47 | |
| it says "test unexpectedly PASSED" | |||
| Yuki`N | And it stops? | ||
| whiteknight | no, keeps going | ||
| Yuki`N | Oh. | ||
| whiteknight | test passing is good | ||
| Yuki`N | Right. | ||
| whiteknight | the test harness gives a report at the end | ||
| so we will see a list of tests that pass and tests that fail | |||
| Yuki`N | integer.pmc's code coverage is up to 75% when I stopped last night after finding the bug. | 19:48 | |
| whiteknight | what was it at when you started? | ||
| Yuki`N | 55% | ||
| aloha | 0.55 | ||
| Yuki`N | Ugh apparently I fucked up my pull request by merging in commits from upstream. | 19:59 | |
|
20:01
lucian joined
|
|||
| whiteknight | :) | 20:04 | |
| Yuki'N: You a 4channer? | |||
|
20:04
gbacon_ left
20:05
smash left
|
|||
| Yuki`N | whiteknight, I lurk. | 20:08 | |
|
20:09
Eclesia joined
|
|||
| Eclesia | hello | 20:09 | |
| whiteknight | hello Eclesia | ||
|
20:10
Coke joined
|
|||
| dukeleto | Eclesia: welcome! | 20:11 | |
| Coke | whiteknight: more fun tcl failures for you. (see recent nopaste) | 20:12 | |
| Eclesia | thanks, is there an ubuntu repo where we can find the latest parrot vm (2.10)? | ||
| whiteknight | Eclesia: Ubuntu packages for Parrot releases are always delayed. I doubt you will find 2.10 now | 20:13 | |
| maybe 2.9 | |||
| Eclesia | only 2.6 :( | ||
| Coke | whiteknight: golfed it down to: "expr ~0" | 20:15 | |
| plobsing | I always thought we had plenty of devs on ubuntu. does anyone have a ppa? | 20:16 | |
| Coke | ppa? | 20:17 | |
| plobsing | aloha, ppa? | ||
| aloha | plobsing: No clue. Sorry. | ||
| plobsing | aloha: ppa is launchpad.net/ubuntu/+ppas | ||
| aloha | plobsing: Okay. | ||
| plobsing | it basically allows individuals to easily publish their software as 3rd party ubuntu repos | 20:18 | |
| nopaste | "coke" at 192.168.1.3 pasted "golfed previous tcl error somewhat:" (62 lines) at nopaste.snit.ch/26944 | 20:21 | |
|
20:22
rfw joined
|
|||
| plobsing | launchpad.net/~dexter/+archive/parrot-pkg appears to have 2.8 packaged for ubuntu. not sure who this Piotr guy is (not in credits). | 20:22 | |
| Coke | or, call me crazy, we could ask allison to package it. | 20:23 | |
| plobsing | she has some packages, but only up to 2.6 (which is likely what made it into the official repos) | ||
| Coke | (tcl) it looks like it might be complaining about bnot, but I do a "loadlib bit_ops" elsewehre. | 20:25 | |
| plobsing | Coke: loadlib or .loadlib? | 20:26 | |
| Coke | 1:.loadlib 'bit_ops' | ||
| plobsing | ok, that's the correct one. | 20:27 | |
|
20:27
bluescreen left
|
|||
| plobsing | I hate that 1 easily missed '.' makes all the difference in the world to IMCC | 20:27 | |
| Coke | one might ask why we even have the other one if it's known to DTWT,but I won't. ;) | ||
| plobsing | Coke: .loadlib loads a library into IMCC at compile time. loadlib loads a library into the running interp at runtime. | 20:28 | |
| whiteknight | I suspect if Allison had the time and inclination to make Ubuntu packages for us, she would | ||
| plobsing | loadlib (the op) does the right thing in some cases (eg: when you want to load a PMC library, when you want to dlfunc, etc) | ||
| Coke | plobsing: I did say I wasn't going to ask. | 20:29 | |
| whiteknight | everything IMCC does is equally inferior | ||
| Coke | at this point, I just want to know why this code is failing, not why other code I might have written might fail. | ||
| or why IMCC sucks. | |||
| Coke would just like his HLL to work again, insomuch as it used to. | 20:30 | ||
| Eclesia | quick question : I'm doing the build steps for parrot vm. and see this line : auto::opengl - Does your platform support OpenGL....................no. | ||
| what UI system uses parrot ? | 20:31 | ||
| plobsing | Damnit Eclesia, parrot is a vm, not a gui library! (nor a miracle worker) | ||
| ;) | 20:32 | ||
| Eclesia | parrot comes with perl language no ? | ||
| allison | whiteknight: Parrot is packaged for Debian and synced to Ubuntu (that's the preferred way to do it) | ||
| whiteknight: I've submitted the 2.9.1 packages to Debian already | |||
| whiteknight: but, it's the 3.0 packages that will be in the next release of Ubuntu (in April) | 20:33 | ||
| whiteknight | allison: oh, I wasn't sure about the process. I was just commenting that people shouldn't volunteer you to make those packages if you aren't doing it already | ||
| Eclesia | perl has UIs ? (I'm not a perl developer, still java for the moment) | ||
| whiteknight | Eclesia: anybody can have a UI if you use the right libraries | ||
| Perl has several to choose from | |||
| Qt, Tk, Gtk2, Wx, etc | |||
| Eclesia | ok | ||
| plobsing | Eclesia: parrot comes with a tool (nqp), which is "Not Quite Perl 6". there are several languages that target parrot, but most are external to the parrot project (example: rakudo) | ||
| allison | whiteknight: it's okay, I'm on it (it seems like a good thing to use my double connections for) :) | ||
| whiteknight | allison: is there documentation about that process anywhere? Like release managering, that would be something good to get many people involved with if possible | 20:34 | |
| allison | whiteknight: yup, it's in docs/project | 20:35 | |
| whiteknight: both a debian packaging guide and an Ubuntu packaging guide | |||
| whiteknight | oh, okay. I may have seen those actually | ||
| allison | whiteknight: and all the packaging files are in ports/debian too | ||
| whiteknight | okay | 20:36 | |
| allison | whiteknight: we have a small glitch with the ports files when we moved to git | ||
| whiteknight: I submitted a ticket for it | |||
| Eclesia | plobsing: I've seens there was a starting effort for java, you know where I can find thoses nqp ? | ||
| allison | whiteknight: haven't checked back to see the progress | ||
| whiteknight: (if any) | 20:37 | ||
| whiteknight | allison: okay, I remember that ticket. Something with ,gitignore ignoring the ports directory? | ||
| Coke | dukeleto noted that you can commit those files regardless. | ||
| allison | whiteknight: yeah, it's tricky because we want to commit them, but not include them in the tarbal | 20:38 | |
| whiteknight | right, but there's no real reason to have that folder on the ignore list I don't think | ||
| allison: oh, are we using .gitignore to inform tarball file selection? | |||
| allison | Coke: I can, but I have to manually edit the .gitignore file, commit the files, and then remove the edit before committing | ||
| plobsing | Eclesia: the efforts at implementing Java-on-Parrot never really got off the ground. They are currently housed at code.google.com/p/parrot-jvm/ and appear mostly dormant. | ||
| Coke | allison: no, you just need to say "-f", IIRC. | ||
| allison | whiteknight: it said we were | 20:39 | |
| Coke | I thought we were using MANIFEST.SKIP for that. | ||
| allison | Coke: that's pretty dangerous, what if it had some other errors mixed in? | ||
| whiteknight | this is an area where it seems we all need more answers | ||
| Coke | allison: <shrug> Just reporting what's on the ticket. | ||
| allison | whiteknight/Coke: yeah, it's not urgent or anything, just needs a little thought to get our new process straight for some of these edge cases | 20:40 | |
| Coke | though if you're doing a commit of a ports file, I'm not sure what other types of errors could exist. | ||
| whiteknight | well, we want porting Parrot to various distrubutions to be as easy as possible | ||
| Coke | It's so low on my list of things parrot needs to fix, though, I'm not worried about it. ;) | 20:41 | |
| allison | Coke: ports files are supposed to be stored in the repository, so we have a record of them | ||
| whiteknight | I wonder if moving the porting materials out to a separate repo might be worthwhile to avoid stepping on toes | ||
| (like Rakudo vs Rakudo Star) | |||
| plobsing | Eclesia: what is your interest in parrot? my answers to your questions might be better targetted if I had more info. | ||
| Coke | allison: Yes, I know that ports files live in ports/ | ||
| allison | whiteknight: a separate repository seem like a heavyweight solution for a little git quirk | ||
| Coke: oh, I misread | 20:42 | ||
|
20:42
bluescreen joined
|
|||
| Coke | I'm saying, if you do a "git commit ports/portsFILE", oops, then "git commit -f ports/portsFILE", I'm not sure what types of errors you are concerned about. | 20:42 | |
| allison | Coke: yes, I just have a deep seated fear of making a commit that wipes out the entire git repo | ||
| Coke | so you've been saying for years now. | ||
| I'm familiar with it. | |||
| I believe github will no longer allow you to do that. | 20:43 | ||
| allison | Coke: it *shouldn't*, but it makes me really cautious about using -f as part of a regular, expected process | ||
| Coke: though, I certainly understand it's a useful tool when it's needed | |||
| Coke: I know it's not entirely rational :) fears rarely are | |||
| Coke | In the meantime, I'd much rather be able to pass all my tests again and run my test suite in less than 20m. ;) | 20:44 | |
| allison | Coke: limiting the scope of the -f to a single file helps | ||
| atrodo | can you do "git add ports/portsFILE" without a -f? | 20:45 | |
| allison | Coke: it's a good perspective on prioritizing time spent, but then that's what I said about the time spent on the whole git migration. I don't expect this process fix will take a git expert more than 15 minutes. | ||
| Eclesia | plobsing: I'm actually on of the leader developers of GeotoolKit.org project. it's a huge projet started a long time ago a renamed several times, today it's a half million code lines. As you know java is not anymore in it's glory days. so I'm exploring alternative solutions which could 'understand' java code base will migrating code base to something more 'free', like Fantom, Scala or whatever. So parrot looks like a nice vm, with agnostic philosophy. | 20:46 | |
| allison | atrodo: no, it won't allow it because ports/ is in .gitignore | ||
|
20:46
Carter joined
|
|||
| atrodo | allison> okay. wasn't sure of the mechanics involved | 20:46 | |
|
20:46
kendle joined
|
|||
| whiteknight | Eclesia: At the moment we're not really compatible with Java or JVM bytecode. That's the short answer. We would like to be able to help you, of course, but I want to put that piece of information out there | 20:48 | |
| Eclesia: are you looking to rewrite your code in a new language, or find a new platform to run Java code on? | 20:49 | ||
| Eclesia | I dont expect parrot to understand bytecode. but the java language | ||
| whiteknight | okay, that's easier to do, I think | ||
| Eclesia | whiteknight: I'm searching for both in fact. | 20:50 | |
| whiteknight | ok | ||
| Coke lied. partcl-nqp master runs the test suite (with failures) in 129s. (fails very early on the longest test, however.) (but tclsh8.5 runs it in < 1s) | |||
| plobsing | Eclesia: the perk project aimed to get java-the-language on the parrot VM. sadly, it appears to have been dormant for 2 years (in which time, we've changed a lot). you bring up an interesting issue though. Parrot really should have on-ramps for people trying to flee java-the-vm. | 20:52 | |
| Yuki`N | whiteknight, what should I do about the pull request? | ||
| whiteknight | Yuki'N: you have a pull request opened? | ||
| Yuki`N | Yeah. | ||
| github.com/parrot/parrot/pull/23 | 20:53 | ||
| whiteknight | I'm going to pull the code into a branch where we can evaluate it | ||
| Yuki`N | Ok. | 20:54 | |
| Eclesia | plobsing: I can't find this perk projet, you have a link ? | 20:55 | |
| dalek | rrot/gci_inttestcoverage: 44e2ba5 | (Nolan Lum)++ | / (3 files): Fix bug in String PMC with extraneous multimethod. Increase code coverage of String PMC tests. |
||
| rrot/gci_inttestcoverage: 26c3ed3 | (Nolan Lum)++ | t/pmc/string.t: Change behavior of exception-related tests. |
|||
| rrot/gci_inttestcoverage: 67b58a1 | (Nolan Lum)++ | t/pmc/string.t: Fix wording. |
|||
| rrot/gci_inttestcoverage: 5c746db | plobsing++ | / (2 files): eliminate static numbering of ops static numbers for ops has no meaning. also, opsc generates number automatically now, rendering these completely unecessary. also eliminate a nasty cast (op_func_t* => void** => (void*)() => op_func_t*) |
|||
| plobsing | Eclesia: github.com/chrisdolan/perk | ||
| rrot/gci_inttestcoverage: ead90b8 | plobsing++ | / (2 files): eliminate op documentation mentioning defunct CORE_OPS_* |
|||
| Coke | *DROWNING IN COMMIT MESSAGES*( | ||
| dalek | rrot/gci_inttestcoverage: 30bb037 | plobsing++ | src/nci/framebuilder.pod: add some documentation about pluggable framebuilder subsystem |
||
| rrot/gci_inttestcoverage: 20ee3ca | plobsing++ | MANIFEST: mk_manifest_and_skip |
|||
| rrot/gci_inttestcoverage: 29bd61d | (Gerd Pokorra)++ | t/pmc/string.t: remove whitespace |
|||
| rrot/gci_inttestcoverage: 90a31da | cotto++ | examples/pir/md5sum.pir: add md5sum tool using MappedByteArray from Kapace++'s gci task |
|||
| rrot/gci_inttestcoverage: d1ea164 | sygi++ | README.polski: polish translation of README Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net> |
|||
| rrot/gci_inttestcoverage: 8d97c3b | sygi++ | README.polski: tiny corrects Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net> |
|||
| rrot/gci_inttestcoverage: d5eb9a4 | dukeleto++ | NEWS: Add NEWS item about README translations |
|||
| atrodo | :gasp: :wheez: | ||
| dalek | rrot/gci_inttestcoverage: 6878f91 | sygi++ | README.polski: tiny corrects Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net> |
||
| rrot/gci_inttestcoverage: 0fa52e7 | (Nolan Lum)++ | /: Merge github.com/parrot/parrot |
|||
| plobsing simultaneously curses the commit barage and rejoices in the double karma. | |||
| Coke | plobsing: I think one of the best thigns we can do to encourage people to target parrot from java is to make it performant. | ||
| whiteknight | Yuki`N: Okay, pulled (obviously). I closed the pull request. I'll close the ticket once it's been tested (we can worry about merge later) | ||
| Yuki`N | K. | ||
| Thanks. | |||
| plobsing | Coke: an up to date Java language HLL couldn't hurt either. I'm looking into how much work it would take to revive perk. | 20:57 | |
| Yuki`N | How does this karma thing work again? | ||
| plobsing | karma Yuki`N | ||
| aloha | Yuki`N has karma of 0. | ||
| plobsing | Yuki`N++ | ||
| karma Yuki`N | |||
| aloha | Yuki`N has karma of 0. | ||
| Eclesia | Coke: for the moment I'm not expecting parrot to be as efficient as the jvm :) make everything work and compile would be a miracle already :) | ||
| whiteknight | I think the apostrophy in his name is causing problems with aloha | ||
| sorear | .u ` | ||
| Yuki`N | I added myself to CREDITS but that didn't get pulled. | ||
| plobsing | Yuki`N: aloha hates you apparently | ||
| Yuki`N | Lol. | 20:58 | |
| Oh well. | |||
| atrodo | karma (Yuki`N) | ||
| aloha | (Yuki`N) has karma of 0. | ||
| atrodo | (Yuki`N)++ | ||
| sorear | karma N | ||
| aloha | N has karma of 4. | ||
| atrodo | karma (Yuki`N) | ||
| aloha | (Yuki`N) has karma of 0. | ||
| whiteknight | Yuki`N: We give people karma, and when you get to 10,000 we give you a free donut | ||
| sorear | karma Yuki`N | ||
| aloha | Yuki`N has karma of 0. | ||
| sorear | karma N) | ||
| aloha | N) has karma of 0. | ||
| atrodo | Wow, aloha has no idea what's going on | ||
| whiteknight | of course, donuts come in packs of 6, so you really need 60,000 to get anything | ||
| and even then, it will be the wrong flavor | 20:59 | ||
| atrodo | whiteknight> I think the donuts get more elaborate everytime you explain karma | ||
| whiteknight | atrodo: so long as I am making this up, I may as well elaborate | ||
| atrodo | So true... | ||
| Yuki`N | xD | 21:00 | |
| I see in the .pmc files there's a constant, PARROT_INTVAL_MIN. | |||
| Eclesia | by the way, are there some kind of benchmarks of the parrot vm ? | ||
| Yuki`N | Is there any way I can use that in PIR? | ||
| whiteknight | One day when Parrot Foundation has enough money to afford donuts we can lower the threshold | 21:01 | |
| Eclesia: benchmarks right now are all bad. Performance is down. We're working on several projects to make performance better | |||
| plobsing | Eclesia: isparrotfastyet.com/ | ||
| pretty graphs | |||
| Eclesia | no comparison with other vm ? | 21:02 | |
| whiteknight | Eclesia: no comparison. Parrot loses | 21:03 | |
| Eclesia | ^^ | ||
| whiteknight | like I said, performance is down right now | ||
| plobsing | (1) make it work. (2) make it work right. (3) make it fast. | ||
| whiteknight | I expect big improvements in the next 6 months if we can get some of our current projects in and done soon | ||
| plobsing | we're just before or just after (2) depending on which subsystem you look at | ||
| NotFound | Also, there is no other VM that can run pir. | ||
| Eclesia | (2.5) make it work everywhere | ||
| plobsing | there are different-language implementations of some of our benchmarks in examples/benchmarks | 21:04 | |
| NotFound | So no way to make fair comparaison. | ||
| whiteknight | We've got new GC coming in the next few months. new MOP. new JIT probably by next winter | 21:05 | |
| an optimization framework is on it's way | 21:06 | ||
| Eclesia | mop ? | ||
| whiteknight | object model | ||
| Eclesia is french, sorry if i don't understand everything | |||
| whiteknight | MetaObject Protocol | ||
| (that's okay. many people here are not native english speakers) | |||
| plobsing | I'm a native english speaker and 6 months ago I thought a mop was something used with a pail. | 21:07 | |
| whiteknight | :) | ||
| rfw | mornin' whiteknight | 21:08 | |
| could you approve this for me www.google-melange.com/gci/task/sho...9191196680 | |||
| whiteknight | good morning rfw | ||
| let me look | |||
| rfw: done | 21:09 | ||
| rfw | thanks | ||
| whiteknight | good luck. Should be easy except for the Makefile stuff | ||
| rfw | yeah | ||
|
21:11
kendle left
|
|||
| sorear | whiteknight: suppose I want to write a Parrot-based HLL sans PIR. What APIs should I use? | 21:11 | |
| Carter | Hi, Notfound My name is Victor i am GCI Student Trying to translate your Readme file into spanish | 21:12 | |
| NotFound | Carter: poor guy ;) | ||
| Carter | im sorry? | 21:13 | |
| whiteknight | sorear: Grab a bible and some Unicorn horn powder | ||
| because I'm going to introduce you to the "I need a damn miracle" API | |||
| NotFound | Carter: I've been ranting about bad translation all day. | ||
| Carter | Thats what i am here to ask you about | 21:14 | |
| sorear | conveniently, NotFound is a native es speaker | ||
| whiteknight | sorear: In reality, there really isn't any way to make PBC without PIR and IMCC right now | ||
| at least, no reasonable way | |||
| dalek | rrot: 113c002 | mikehh++ | MANIFEST: re-generate MANIFEST |
21:15 | |
| rrot: 16bfa07 | mikehh++ | examples/pir/md5sum.pir: add Copyright line and coda at end some documentation is needed |
|||
| sorear | whiteknight: I don't want to make pbc, at least not just yet. I just want something runnable. | ||
| whiteknight | sorear: Parrot runs bytecode, so one way or another you need to give it bytecode | ||
| plobsing | sorear: to run something you need a packfile. pbc -> packfile and packfile -> pbc are the *easy* parts | 21:16 | |
| whiteknight | IMCC turns PIR into bytecode, but we don't have a good general mechanism for doing it with any other tool | ||
| Eclesia finally parrot 2.10 compiled and installed, nice and well documented readme ;) | |||
| whiteknight | that's maybe an API that we need to start developing | ||
| NotFound | Carter: feel free to ask, I'm not as bad as I sound sometimes. | ||
| whiteknight | Eclesia: Awesome! That's the first step | 21:17 | |
| Carter | Alright I have one question about the Copyright part | ||
| plobsing | urg. perk never got any leave-the-nest updates. building is a pain. | ||
| Carter | I've always used "bajo los derechos del autor" | ||
| Eclesia | whiteknight: only 2589 before having geotoolkit running lol | 21:18 | |
| Carter | Should i leave it as "Copyright"? | ||
| whiteknight | Eclesia: :) | ||
| plobsing: maybe you and I should get together sometime and lay out what interface we need for building PBC without PIR involved | |||
| NotFound | Carter: that is the usual way, yes. | ||
| Carter | then i will do that | 21:19 | |
| whiteknight | once we have an interface, and force people to use it, we can start changing the internals without breaking things | ||
| NotFound | Carter: Parrot Bajo Los Derechos del Autor" | ||
| plobsing | whiteknight: I'm not really the person who should be designing the interface. I'm not a compiler writer. Or a tools writer | ||
| NotFound | ... is like "this sentence no verb" | ||
| whiteknight | plobsing: but you're a hacker and you have good ideas about the system and you have a good vision for how it could be structured | ||
| Yuki`N | Is there anything special I need to use the dynoplib? | ||
| Carter | Understood | 21:20 | |
| whiteknight | plobsing: It's my job to make sure the users and the tools work nicely with the internals | ||
| Carter | now is there any other major problems with the translation? | ||
| plobsing | whiteknight: my only insight so far - external users should be *very* isolated from this system as it changes in impossible to predict ways. | ||
| whiteknight | Yuki`N: probably a ".loadlib" to get it loaded | ||
| plobsing: right. And I want to put up an isolation barrier | |||
| plobsing | whiteknight: if you want to start a Packfile API push, I can get behind that. cotto++ has been pushing for much of the same. | 21:21 | |
|
21:22
mib_77hwi1 joined
|
|||
| sorear | Carter: what is your relationship to the Spanish and English languages? | 21:22 | |
| whiteknight | plobsing: I think that's what we need. Packfiles are part of the core of Parrot, and that part of the core is rotten | ||
| Carter | Well i am 15 I have lived in Chile for about 5 years | ||
| whiteknight | we can't build bigger and better things on top of it if that part is crap | ||
| plobsing | whiteknight: I prefer to think of it as "bad to the bone" ;) | 21:23 | |
| Carter | and i am currently living in Canada | ||
| NotFound | Carter: several things should not be translated, like ICU and Storable | ||
| Eclesia | quick question (since I'm not used to git yet) i find all my usual commands from Mercurial on git (status,commit,push,pull,clone,rebase,diff...). anything special things I should be aware of ? | ||
| whiteknight | plobsing: Like I said, just about every other project I want to see tackled in the medium to long term relates back to PackFiles | ||
| so as the lowest common denominator, maybe that's where I should be focusing some of my effort. | 21:24 | ||
| Carter | Yes also i want to sure about branch? | ||
| whiteknight | or, once the embed_api2 branch merges, all of my effort | ||
| Carter | wasnt* | ||
| whiteknight has to go. Talk to everybody later | 21:25 | ||
| cotto_work | whiteknight: +1 to what plobsing said. | ||
|
21:25
whiteknight left
|
|||
| cotto_work | a push would probably get it done pretty quickly | 21:25 | |
| bacek: ping | |||
| mib_77hwi1 | dfjk | 21:26 | |
|
21:26
mib_77hwi1 left
|
|||
| atrodo | interesting... | 21:26 | |
| dukeleto | Carter: hello | ||
| Carter: are you a GCI student? What are you working on? | |||
| Carter | I am working for The README translation to spanish | 21:27 | |
| dukeleto | Carter: awesome! | ||
| Carter: did you send one pull request already? is that you on github? | |||
| Carter | Yes I did that | ||
| Cotto is my Mentor | 21:28 | ||
| dukeleto | Carter: the spanish readme should be in README.espanol, not in the README file | ||
| Carter | well thats one of the problems | ||
| i am not familiar with Github | |||
| dukeleto | Carter: and ICU should not be translated | ||
| Carter | i spent half an hour trying to figure out the pull request | ||
| dukeleto | Carter: that is fine. GCI is all about you learning about new stuff :) | ||
|
21:28
mib_m1lywe joined
|
|||
| Carter | thats true thanks | 21:28 | |
| dukeleto | Carter: do pull requests make sense to you now? They are a valuable thing to understand. | 21:29 | |
| plobsing | Eclesia: mercurial and git are very similar. You can even use hg as a frontend to git (hg-git.github.com/). | ||
| Carter | yes | ||
| NotFound | Now that I look at it, I'm not sure the english version is very good in some parts. "extracts configuration from the running perl5 program". running? | ||
| Carter | but dont know how to change README to something else | ||
| plobsing | Eclesia: I'm not aware of all the differences. I suspect there are some and that they are subtle. | ||
| atrodo | NotFound> Correct but not exactly clear | 21:30 | |
| It's saying the Configure.pl uses the perl that it's running under to probe for some values | 21:31 | ||
| bluescreen | atrodo, been checking out lorito's github it looks promising | ||
| atrodo | bluescreen> Thanks. | 21:32 | |
| dukeleto | Carter: cp README README.espanol | ||
| Carter: git add README.espanol; git commit -m "my commit message" | |||
| bluescreen | atrodo, are you going to keep the inline ops ? or they will become functions ? | ||
| dukeleto | Carter: do that from a fresh version of master on parrot | ||
| atrodo | bluescreen> Probably not functions, but will probably extract them into a format that will make them easier to do more with | 21:33 | |
| Carter | dukeleto: OK, i should probably install git first | ||
| atrodo | Carter> Were you using github to edit the files? | 21:34 | |
| dukeleto | Carter: you can also just work on your translation, and send us the file | ||
| Carter: i want you to learn about git, but that might slow you down too much. Your task doesn't actually need to use git. | |||
| mib_m1lywe | He's got a week right? | ||
| dukeleto | Carter: you can paste a copy of your translated README on gist.github.com | 21:35 | |
| Carter | ooh ok | ||
| dukeleto | mib_m1lywe: i am not sure how much time he has left. But he can do more tasks if we just concentrate on translation right now, and not learning git | ||
| Carter | got it | ||
| Title README.es? | |||
| dukeleto | Carter: sure, whatever title you want | 21:36 | |
| Carter: title isn't going to be used when i commit it | |||
| Carter | oh ok | ||
| dukeleto | Carter: make sure you don't translate acronyms (like ICU) | 21:38 | |
| Carter: they should stay the same | |||
| Carter | alright | ||
| dukeleto | Carter: and make sure the commands that you translated actually work. Such as "apt-get instala git-core". Does that actually work? | 21:39 | |
| Carter: which OS are you using? | |||
| Carter: for now, just leave all the commands the same in the document | |||
| Carter | Im on Windows | ||
| dukeleto | Carter: ok. good to know. | ||
| Carter: make sure to spell check your document with a spanish spellchecker, please. | 21:40 | ||
| Carter | i change "apt-get instala git-core" back to the original version | ||
| dukeleto | Carter: that is good. | ||
| Carter: the spellcheck won't know any of the technical words, and you can skip over those. Just make sure you don't have any spanish spelling errors | |||
| Carter | yes i also didnt understand this "You also need Perl 5.8.4 or newer, and Storable 2.12 or newer 27 for running various configure and build scripts." | 21:41 | |
| NotFound | Carter: "Storable" is a perl module, don't translate its name. | 21:42 | |
| sorear | 5.8.4 and 2.12 are version numbers | ||
| Carter | "for running various configure and build scripts." | ||
| NotFound | Here you enter deep waters. Some people found translation of "script" to "guión" perfectly goot. Some others think it sounds ridiculous. | 21:44 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1585) fulltest) at 16bfa07 - Ubuntu 10.10 i386 (g++-4.5) | ||
| Carter | I wrote "para el funcionamiento de diversos configura y crea secuencias de comandos" | 21:45 | |
|
21:47
Carter left
21:48
lucian left
21:50
M_o_C joined
|
|||
| cotto_work | antimatter15.com/misc/rotatedgooglecss3.html | 21:50 | |
|
21:51
mib_ip6b69 joined
21:53
mtk left
21:55
mib_ip6b69 left
|
|||
| Coke | are we sure that the MULTI is_equal in string.pmc was extraneous? | 21:55 | |
|
21:56
Pitoco joined
|
|||
| Coke | (I'd like to verify it doesn't break a HLL before mergeback.) | 21:58 | |
| dukeleto | Coke: i like that idea. | ||
| Coke: i think I will apply the patch without that deletion. | |||
| cotto_work | dukeleto: go file a ticket for deprecations as data | 21:59 | |
|
22:00
hercynium left
|
|||
| dukeleto | cotto_work: Yes, sir. | 22:00 | |
| cotto_work | That was a great idea from last nice. | ||
| night | |||
|
22:00
Pitoco left
|
|||
| dukeleto | cotto_work: yes, i have been thinking about it for a while and discussed it with whiteknight in here a few days ago | 22:01 | |
|
22:01
Carter joined
22:02
Carter is now known as pitoco
|
|||
| dukeleto | cotto_work: done | 22:04 | |
| pitoco | Ok, heres my updated README.es | ||
| gist.github.com/736890 | |||
| dukeleto | Coke: does this make you happy? trac.parrot.org/parrot/ticket/1888 | 22:05 | |
| pitoco: awesome. set your melange ticket to "submitted" so i can approve the task | 22:06 | ||
| NotFound | pitoco: there are several lacks of concordance. You are using "usted", then you should always use third person verbs. | 22:07 | |
| pitoco | True | 22:08 | |
| dukeleto | pitoco: please fix that in your gist :) You can edit your gist | ||
| NotFound++ | |||
| NotFound | "porspuesto" -> "por supuesto" | ||
| sorear | there's something slightly funny about watching two Spanish speakers discuss Spanish grammar in English | ||
| NotFound | sorear: Ils sont fous, ces espagnoles. | 22:10 | |
| dalek | TT #1888 created by dukeleto++: Deprecations as data | 22:11 | |
| TT #1888: trac.parrot.org/parrot/ticket/1888 | |||
| sorear | my French is *much* worse than my Spanish | 22:12 | |
| pitoco | my french is ok | ||
| NotFound | sorear: is a saying from Obelix. | 22:13 | |
| pitoco | Asterix and Obelix? | ||
| NotFound | Yes | ||
| EstƔn locos estos romanos. | |||
| pitoco | That was my favourite comic book when i was in elementary school | 22:14 | |
| should i stick to Usted or Tu? | |||
| NotFound: should i stick to Usted or Tu? | 22:15 | ||
| NotFound | pitoco: this is detable. I usually avoid the decision by using impersonal forms. | 22:16 | |
| pitoco | NotFound: like "Necesita un compilador C, enlazador, y por supuesto, un programa."? | 22:17 | |
| NotFound | pitoco: I'll say: "Se necesita un compilador C, enlazador, y por supuesto, un programa." | 22:18 | |
| "compilador de C" | 22:20 | ||
| pitoco | NotFound: seems like i will have to keep everything a "Tu" | 22:21 | |
|
22:21
M_o_C left
|
|||
| pitoco | as* | 22:21 | |
| NotFound | pitoco: fine for me | 22:22 | |
| rfw | argh, did i just commit something as root | 22:26 | |
| goddammit | |||
| Yuki`N | lol. | 22:27 | |
| mib_m1lywe | rfw: programming as root? | 22:28 | |
| rfw | mib_m1lywe: yeah i was just being lazy | ||
|
22:30
mib_m1lywe left
|
|||
| rfw | ignore that pull request | 22:35 | |
| sorear | hmm, so legiitimate users sometimes use mibbit? good to know | 22:37 | |
| Yuki`N | Can someone accept my claim for www.google-melange.com/gci/task/sho...9197439537 | ||
|
22:40
pitoco left
22:43
hercynium joined
22:46
fperrad left
22:49
Carter joined
|
|||
| Eclesia | question about PIR : This can be int (for I registers), float (for N registers), string (for S registers) | 22:58 | |
| Yuki`N | What do you mean? | ||
| Eclesia | if i use float, is it a 32bit or 64bit ? | ||
| float or double | |||
| Yuki`N | Umm. | 22:59 | |
| Eclesia | I'm used to java where there is float a double, so which one is it ? | ||
| sorear | N registers are NUMVAL | 23:00 | |
| Eclesia | and* | ||
| could you explain | |||
| sorear | which can be whatever the person configuring Parrot wants it to be | ||
| it'll usually be the same as a Java double | |||
| but not alwyas | |||
| Eclesia | so when I run a pir file, i can choose to work in single precious or double precision but not have some values in 32 and others in 64 ? | 23:01 | |
|
23:02
Andy left
|
|||
| Eclesia | I mean at the same time | 23:02 | |
|
23:04
TiMBuS_ joined
|
|||
| sorear | No | 23:05 | |
| plobsing | Eclesia: Parrot (mostly) works with configured-once-at-compile-time C datatypes including INTVAL and NUMVAL. These usually default to the C compiler's 'long' and 'double'. | ||
| sorear | When you work in PIR, you don't get to choose precision | ||
| You're at the mercy of whoever installed Parrot | |||
| You have one precision to work with | |||
|
23:06
TiMBuS left
|
|||
| sorear | Also, you seem to be assuming that all computers have exactly two floating point types, a 32 bit one and a 64 bit one. This is wrong. | 23:06 | |
| Eclesia | hm, since my project in a mapping library, we often switch between types, like float <> double or sometime BigDecimal. working with float at the earth scale is just not precise enough. | 23:07 | |
| plobsing | we have BigNum | 23:08 | |
| I recall we had decnums at one point too | |||
| cotto_work | plobsing: that was split out into a separate project | ||
| sorear | Eclesia: only a fool would configure NUMVAL with the precision of a Java float | ||
| cotto_work | still exists, might still build | ||
| if dukeleto++ gets his way, we'll have a way to know for sure | 23:09 | ||
| Eclesia | sorear: well I never coded in low level (exept a few times for microshop in C) . so I guess i the worse case 32 or 64bit calculations can be emulated by using more cpu cycles | ||
| plobsing | cotto_work: I'm already busy reviving an old project. don't pile on more! | ||
| sorear | Eclesia: you are speaking very imprecisely | 23:10 | |
| Parrot is designed to be a lot more portable than Java | |||
| Eclesia | sorry ... I lack precise vocabulary :) | ||
| Yuki`N | Could a mentor kindly accept my claim? www.google-melange.com/gci/task/sho...9197439537 | ||
| sorear | Most current Parrot installs use the 387's 64 bit float format for NUMVAL | 23:11 | |
| which is identical to a Java double, and also the fastest type available on the 387 | 23:12 | ||
| plobsing | Eclesia: the only reason you couldn't use a double in stead of a float is if you *wanted* the rounding errors. | ||
| cotto_work | Yuki`N: yes | ||
| er, done | |||
| sorear | the only reason to use the 387's 32 bit format is for memory efficiency | ||
| Yuki`N | Ok well, I added a link to the pull request as the work submission. | 23:13 | |
| Eclesia | plobsing: you forget about 3D rendering, when you work with opengl. float or double makes a difference | ||
| plobsing | sorear: true, but if you have that many floats, $N-regs are the wrong way to store them | 23:14 | |
| Coke | dukeleto: (1888) not really, but if it makes you happy, that's fine. ;) | ||
| sorear | plobsing: it's worth noting that the 387 itself only has 80-bit registers | ||
| the only way to do 64-bit math is to downconvert between operatiions | |||
| Directly binding Parrot to OpenGL is going to suck big time anyway | |||
| plobsing | which java requires IIRC (silly spec) | ||
| sorear | wasn't there some silly strictfp keyword thing? | 23:15 | |
| sorear wants to see -mfp=sse become the standard ABI within the decade | |||
| Eclesia | what is IIRC ? | 23:16 | |
| sorear | If I Recall Correctly | ||
| Eclesia | thx | ||
| dalek | p-rx/nom: 361fef3 | cotto++ | src/pmc/ (2 files): rename STable.pmc to stable.pmc to avoid making case-sensitive OSs sad |
23:17 | |
| plobsing | iirc => if I recall correctly (in IRC) :p | 23:18 | |
|
23:24
bluescreen left
23:29
Matt221 joined
|
|||
| Yuki`N | www.google-melange.com/gci/task/sho...9193205977 the task name says Iterator, the task description says Complex. | 23:41 | |