| *** tpb has joined #tp | 00:00 | |
| *** ChanServ sets mode: +o tpb | 00:00 | |
| mithro | llnz: any luck? | 01:22 | 
|---|---|---|
| *** zzorn has joined #tp | 01:49 | |
| mithro | hey zzorn | 01:50 | 
| *** llnz2 has joined #tp | 01:59 | |
| mithro | web llnz | 01:59 | 
| mithro | any luck with your computer? | 01:59 | 
| *** JLP has joined #tp | 02:10 | |
| *** llnz has quit IRC | 02:11 | |
| *** llnz2 is now known as llnz | 02:11 | |
| llnz | seems to be much better | 02:12 | 
| mithro | any idea what was causing the problem? | 02:19 | 
| *** nash_ has quit IRC | 02:25 | |
| *** xdotx has joined #tp | 03:20 | |
| * xdotx lives! | 03:21 | |
| llnz | hi xdotx | 03:22 | 
| xdotx | hey llnz | 03:23 | 
| llnz | how is it going? | 03:40 | 
| mithro | hey xdotx | 03:42 | 
| mithro | long time no see | 03:42 | 
| xdotx | hey mithro. say, you wouldn't happen to have any beginning python tutorial recommendations, would ya? | 03:44 | 
| mithro | xdotx: sure! | 03:44 | 
| xdotx | preferably one for an experience programmer | 03:44 | 
| mithro | if you hang around long enough you can also ask greywhind | 03:44 | 
| xdotx | llnz: school was moderately brutal this semester | 03:45 | 
| xdotx | just got done, glad to be on break. hope i passed math :P | 03:45 | 
| xdotx | mithro: i love and hate the indent-matters concept | 03:46 | 
| mithro | http://www.diveintopython.org/ | 03:46 | 
| tpb | Title: Dive Into Python (at www.diveintopython.org) | 03:46 | 
| mithro | that is generally well recieved | 03:46 | 
| xdotx | i was toying with learning more perl, but then look a comparative look at python and perl and opted just to focus on python | 03:48 | 
| xdotx | i don't generally like the TIMTOWTDI | 03:49 | 
| mithro | TIMTOWTDI? | 03:49 | 
| xdotx | there is more than one way to do it | 03:50 | 
| llnz | mithro: turn 126, all ai still running | 03:57 | 
| mithro | llnz: how is the universe | 03:58 | 
| mithro | ? | 03:58 | 
| llnz | 500 system | 03:58 | 
| llnz | one player is just about out | 03:58 | 
| mithro | llnz: I don't think you see most of the remaining bugs untill you have over 1500 systems | 04:10 | 
| llnz | what bugs? | 04:10 | 
| mithro | the once which reset you back to zero :P | 04:12 | 
| llnz | i have no idea what caused that one | 04:12 | 
| *** peres has joined #tp | 04:36 | |
| mithro | would be good to track down | 06:11 | 
| mithro | xdotx: did you have a look at dive into python? | 06:12 | 
| llnz | mithro: it might be there is nothing to track down | 06:12 | 
| mithro | llnz: you mean that it could have been your computers? | 06:17 | 
| *** peres has left #tp | 06:17 | |
| llnz | could have been | 06:17 | 
| llnz | but i could also had been guile's GC getting into the wrong things, or there could actually be an error | 06:18 | 
| mithro | hence why we need to run with bigger tests? | 06:19 | 
| llnz | maybe | 06:25 | 
| llnz | debugging becomes a little hairy, especially with the ai's sitting at 100% cpu | 06:25 | 
| llnz | and being unable to track back where the problem happened | 06:26 | 
| mithro | just nice the ai's back to lower level? | 06:34 | 
| llnz | the issue is more overheating my cpus | 06:34 | 
| mithro | and why are the AI sitting at 100%? | 06:35 | 
| llnz | don't know, if i notice again i'll check | 06:35 | 
| mithro | okay | 06:43 | 
| CIA-11 | mithro tpclient-pywx-development * r591b03017662 /windows/main/panelOrder.py: Fixed an exception in the cache update. | 07:28 | 
| CIA-11 | noegnud tpclient-pywx-development * rfcfe29c0a8ee /windows/main/overlays/ (Proportional.py Resource.py): | 07:28 | 
| CIA-11 | Implemented Resources overlay to the point of drawing white circles whose | 07:28 | 
| CIA-11 | sizes correspond to the total amount of resources in a system. These will | 07:28 | 
| CIA-11 | be converted to pie charts later. | 07:28 | 
| CIA-11 | noegnud tpclient-pywx-development * r292e47410c15 / (5 files in 3 dirs): | 07:28 | 
| CIA-11 | Changes merged from wxFloatCanvas for PieChart, modified Resource overlay | 07:28 | 
| CIA-11 | to use PieChart and display correctly. Still needs some tweaking. | 07:28 | 
| CIA-11 | noegnud tpclient-pywx-development * rd5b58a5fd8af /extra/wxFloatCanvas/Utilities/Colors.py: Added Colors.py as a tracked file. | 07:28 | 
| CIA-11 | noegnud tpclient-pywx-development * r3b22a2c1ef86 /windows/main/overlays/ (Proportional.py Resource.py): | 07:28 | 
| CIA-11 | Improved look of resources overlay, added ability to select single resource | 07:28 | 
| CIA-11 | types from a list to view rather than all at once. | 07:28 | 
| CIA-11 | noegnud tpclient-pywx-development * rc04998ec3653 / (5 files in 3 dirs): | 07:28 | 
| CIA-11 | Popups now working for Resource overlay. They display information on the | 07:28 | 
| CIA-11 | resources in the system, either in total or for a specific resource. | 07:28 | 
| mithro | dunno what I did, but somehow with git-rebase it turned http://mithro.dyndns.org/~tim/Screenshot.png into http://mithro.dyndns.org/~tim/Screenshot-1.png | 07:34 | 
| *** remaxim has joined #tp | 07:41 | |
| remaxim | hi | 07:41 | 
| *** llnz2 has joined #tp | 08:09 | |
| CIA-11 | noegnud tpclient-pywx-development * r01226c0d42ff /windows/main/overlays/ (Proportional.py Resource.py): | 08:12 | 
| CIA-11 | Implemented Resources overlay to the point of drawing white circles whose | 08:12 | 
| CIA-11 | sizes correspond to the total amount of resources in a system. These will | 08:12 | 
| CIA-11 | be converted to pie charts later. | 08:12 | 
| CIA-11 | noegnud tpclient-pywx-development * rd1c3d8ce8fb6 / (12 files in 4 dirs): Merge with development branch. | 08:12 | 
| CIA-11 | mithro tpclient-pywx-development * rbba530e16d60 /tpclient-pywx: Merge with git://git.thousandparsec.net/git/tpclient-pywx.git#development | 08:12 | 
| CIA-11 | noegnud tpclient-pywx-development * ra280ec9a112c / (4 files in 3 dirs): Merge with development branch. | 08:12 | 
| CIA-11 | noegnud tpclient-pywx-development * rc0edbb773ca4 / (5 files in 3 dirs): | 08:12 | 
| CIA-11 | Changes merged from wxFloatCanvas for PieChart, modified Resource overlay | 08:12 | 
| CIA-11 | to use PieChart and display correctly. Still needs some tweaking. | 08:12 | 
| CIA-11 | noegnud tpclient-pywx-development * rdd0c329e6b33 /extra/wxFloatCanvas/Utilities/Colors.py: Added Colors.py as a tracked file. | 08:12 | 
| CIA-11 | noegnud tpclient-pywx-development * re054ab920a15 /windows/main/overlays/ (Proportional.py Resource.py): | 08:12 | 
| CIA-11 | Improved look of resources overlay, added ability to select single resource | 08:12 | 
| CIA-11 | types from a list to view rather than all at once. | 08:12 | 
| CIA-11 | noegnud tpclient-pywx-development * rcd1c54cdbab3 / (5 files in 3 dirs): | 08:12 | 
| CIA-11 | Popups now working for Resource overlay. They display information on the | 08:12 | 
| CIA-11 | resources in the system, either in total or for a specific resource. | 08:12 | 
| CIA-11 | mithro tpclient-pywx-development * r69673b3f3c12 / (9 files in 4 dirs): Merge with git://git.thousandparsec.net/git/tpclient-pywx.git#incoming | 08:12 | 
| *** llnz has quit IRC | 08:26 | |
| *** mithro has quit IRC | 08:43 | |
| remaxim | is anyone here? | 09:35 | 
| remaxim | ok... bye | 09:36 | 
| *** remaxim has left #tp | 09:36 | |
| zzorn | hi | 10:13 | 
| *** Epyon has quit IRC | 10:44 | |
| *** peres has joined #tp | 10:49 | |
| *** JLP has quit IRC | 10:54 | |
| *** peres has quit IRC | 11:09 | |
| *** zzorn has quit IRC | 11:10 | |
| *** Epyon has joined #tp | 11:37 | |
| *** remaxim has joined #tp | 12:48 | |
| remaxim | hi | 12:48 | 
| remaxim | is any coder in here? | 12:58 | 
| remaxim | just wondering if TP has sound support | 12:59 | 
| *** zzorn has joined #tp | 13:48 | |
| *** remaxim has left #tp | 15:38 | |
| *** nash has joined #tp | 16:23 | |
| *** mithro has joined #tp | 16:52 | |
| *** nash has quit IRC | 17:19 | |
| *** mithro has quit IRC | 17:23 | |
| *** mithro has joined #tp | 17:36 | |
| mithro | morning people | 17:37 | 
| mithro | hrm, no nash | 17:38 | 
| *** nash has joined #tp | 18:32 | |
| *** Demitar has quit IRC | 18:39 | |
| *** Demitar has joined #tp | 18:45 | |
| mithro | morning nash | 19:19 | 
| mithro | you are in late today? | 19:19 | 
| nash | mithro: No, just had to reboot. | 19:31 | 
| nash | My first login was about 8:30 | 19:31 | 
| mithro | nash: how goes everything? | 19:37 | 
| nash | Busy busy busy crazy | 19:38 | 
| xdotx | mithro: btw, python is cool as hell | 19:39 | 
| mithro | xdotx: so, you are doing to port RFTS to tpserver-py!? | 19:40 | 
| xdotx | mithro: and thanks for the site. was up reading it all night | 19:40 | 
| xdotx | hahah | 19:40 | 
| mithro | probably only take you a week really :) | 19:40 | 
| xdotx | mithro: don't have -that- kind of free time + python knowledge | 19:40 | 
| mithro | good python learning python experiance | 19:40 | 
| xdotx | mithro: i've got some ideas for python practice | 19:41 | 
| mithro | tpserver-py is a pretty nice piece of python - uses a large amount of it's power | 19:41 | 
| mithro | xdotx: if you are thinking of writing games, I would recommend checking out pyglet | 19:41 | 
| mithro | kind of a spiritual successor to pygame | 19:42 | 
| mithro | nash: now we just need to poke Fro again | 19:42 | 
| xdotx | i'm thinking about implementing python in my (school) game for more flexible collision response | 19:43 | 
| mithro | xdotx: embedding python? | 19:44 | 
| mithro | if you are pressed for time, Lua is probably a little easier to embed | 19:44 | 
| xdotx | yeah, but "everybody's doing lua" i've never been one for taking the popular route | 19:45 | 
| xdotx | boost has a very cool looking python binder | 19:45 | 
| mithro | xdotx: yeah, I've been looking at that recently | 19:45 | 
| mithro | it looks about as cool as C++ can be ;) | 19:45 | 
| xdotx | lol | 19:46 | 
| xdotx | boost has some drool-worthy stuff | 19:46 | 
| mithro | xdotx: it does? most of it seems to be stuff which makes C++ a tiny bit more bearable | 19:46 | 
| xdotx | boost factory, signal / function / bind. they're all very cool for C++ | 19:46 | 
| mithro | xdotx: I guess if you prepend the "for C++" bit it sounds about right ;) | 19:47 | 
| xdotx | mithro: i see it as a way of showing that C++ can do all the "facy" stuff that "new" languages can do. which imho, just shows that C++ is better ;p | 19:47 | 
| mithro | xdotx: in painful ways ;) | 19:48 | 
| mithro | btw, I believe there where some bugs found in RFTS | 19:48 | 
| xdotx | mithro: but boost implements the painful part | 19:48 | 
| xdotx | probably! | 19:48 | 
| nash | ...because the one thing C++ needs is more features | 19:49 | 
| xdotx | it does! | 19:50 | 
| xdotx | i want templatized namespaces and a huge standard library... and template concepts, but we're getting those last two | 19:50 | 
| mithro | I think we need a strongly ducked-typed language | 19:50 | 
| xdotx | templates! | 19:51 | 
| xdotx | mithro: template programming is essentially strongly duck typed | 19:51 | 
| mithro | xdotx: I think you need to re-read what duck typing means | 19:51 | 
| xdotx | walks like a duck, must be a duck | 19:52 | 
| mithro | xdotx: yes, not "is a vector" | 19:52 | 
| xdotx | mithro: compilers can figure out the appropriate type (in limited cases) with templates | 19:52 | 
| mithro | a python compiler could do some really cool static duck typing, it would be a bitch to write however | 19:53 | 
| nash | xdotx: Personally I think we need another turing complete language buried in there. | 19:53 | 
| xdotx | heheh | 19:53 | 
| * xdotx nods | 19:53 | |
| nash | We have the C preprocessor - #include __FILE__, we have templates which are turing complete in themselves | 19:54 | 
| nash | Maybe a turing complete operator overloading | 19:54 | 
| xdotx | excellent idea! ;) | 19:54 | 
| nash | So you can get overloads to complete | 19:54 | 
| mithro | oh, we also need double dispatch | 19:54 | 
| xdotx | shh :( | 19:54 | 
| * nash ponders overloading exceptions a bit more | 19:54 | |
| xdotx | multiple dispatch in C++ is kinda lame | 19:55 | 
| mithro | oh wait, why not just use lisp!? | 19:56 | 
| xdotx | mithro: wait, python is strongly duck typed, right? | 19:56 | 
| mithro | xdotx: yes, python is strongly typed (IE Python always knows the type of an object) | 19:57 | 
| xdotx | k, phew. | 19:57 | 
| mithro | unlike C++ where you need things like virtual for it to work properly | 19:58 | 
| mithro | or C where you can cast something to a void* | 19:58 | 
| xdotx | C++ is strongly typed | 19:58 | 
| mithro | xdotx: nope, C++ appears to be strongly typed | 19:59 | 
| xdotx | 'eh? you must be implying strong typing requires run-time knowledge | 19:59 | 
| mithro | xdotx: take a look at this example | 20:08 | 
| mithro | http://cpp.pastebin.com/m31fd2d7b | 20:09 | 
| tpb | Title: cpp private pastebin - collaborative debugging tool (at cpp.pastebin.com) | 20:09 | 
| mithro | tim@vaio:~$ g++ temp3.cpp | 20:09 | 
| mithro | tim@vaio:~$ ./a.out | 20:09 | 
| mithro | class B | 20:09 | 
| mithro | class A | 20:09 | 
| mithro | anyway, going to an early lunch | 20:09 | 
| mithro | bblr | 20:09 | 
| nash | Have fun | 20:10 | 
| mithro | -Wall doesn't even give any errors in the above | 20:10 | 
| xdotx | eh, that's still bad practice | 20:10 | 
| nash | moral is... Use C | 20:11 | 
| xdotx | nash: gross :P | 20:11 | 
| xdotx | C commonly requires even more potentially confusing things. | 20:13 | 
| nash | xdotx: Oh yeah? | 20:14 | 
| nash | C++ being (essentially) a superset of C, I'm not sure how you can make that argument with a straight face | 20:14 | 
| nash | xdotx: And it doesn't have the most confusing things such as virtual, templates and general overloading | 20:15 | 
| xdotx | nash: eh, just because you can use C syntax and methods doesn't mean there isn't "the C++ way" that makes it nicer | 20:15 | 
| nash | Okay... so what conufing things are there in C, that you don't do in C++? | 20:16 | 
| xdotx | nash: while potentially confusing, those things all take some of the work (and thus error prone and confusion) off of you | 20:16 | 
| xdotx | void*s, no sense of public/private data | 20:17 | 
| nash | xdotx: So I've heard.. generally I've seen that all non-trivial C++ programs add more load to the program | 20:17 | 
| nash | xdotx: I'll ignore voids... real public/private data | 20:17 | 
| nash | Non-exposure of interface, no inline functions in the header (normally) to infect application code with library implementation details | 20:18 | 
| xdotx | hmm. you can and should define inlined functions in the source, and what do you mean by "add more load" and non-exposure of interface? | 20:20 | 
| nash | s/program/programmer/ | 20:20 | 
| nash | My mistake | 20:20 | 
| xdotx | ah | 20:21 | 
| nash | And I should say maintainer ;-) | 20:21 | 
| nash | Which is my real argument | 20:21 | 
| nash | C++ is easier to write then C... | 20:21 | 
| xdotx | whenever i'd have to work in C, i just find myself trying to implement C++ features at great cost | 20:21 | 
| nash | That is like saying when I write haskell I find myself trying to write prolog features at great cost... | 20:21 | 
| nash | That argument is "I can't do C well, thus C is bad" | 20:22 | 
| xdotx | i've been one-upped by age on that one :P | 20:22 | 
| nash | xdotx: Knowing hte syntax of a language != knowing how to program it | 20:22 | 
| nash | xdotx: Which one? | 20:22 | 
| xdotx | mm, no that's not my point. | 20:22 | 
| nash | haskell and prolog? | 20:22 | 
| * xdotx nods | 20:22 | |
| nash | Haskell is as alive as ever | 20:23 | 
| nash | Prolog is still... well prolog... | 20:23 | 
| xdotx | haskell i didn't even recognize, prolog.. yeah. | 20:23 | 
| nash | To be fair haskell == functional. Prolog == declarative | 20:23 | 
| xdotx | k | 20:23 | 
| nash | haskell is _the_ major functional language | 20:24 | 
| nash | xdotx: If you don't know haskell... go learn it | 20:24 | 
| nash | Seriously | 20:24 | 
| nash | Take you a week to get the basics and it _will_ improve you C, C++ and other language programming | 20:24 | 
| xdotx | but still, my point was, C has limited features that make some things dangerous and these features cannot be well implemented within the language | 20:25 | 
| xdotx | nash: can do on the haskell | 20:25 | 
| nash | xdotx: ;-) | 20:25 | 
| xdotx | ah, purely functional. fun | 20:26 | 
| nash | xdotx: As I said... programming in haskell will improve your code. | 20:26 | 
| nash | Good haskell programmers can write really neat C ;-) | 20:26 | 
| xdotx | yeah, i could see that | 20:27 | 
| nash | One of the strengths of C is that it does not force a programming methodology down your throat. OO is good, but how you do it is up to you. | 20:27 | 
| xdotx | nash: <flamebait> yeah, but C++ does that part even better </flamebait> | 20:28 | 
| xdotx | ;P | 20:28 | 
| nash | No, C++ does force you to use OO. It does force you to deal with overloads, it does force you to use it's string classes... | 20:29 | 
| nash | The directive of C++ is "thou shall use OO" | 20:29 | 
| nash | The directive of C is "try not to make too much of mess" | 20:30 | 
| xdotx | oh, no way. the strings are convertable from char*s, no need to use them. and overloads are just good clean fun | 20:30 | 
| nash | xdotx: See mithros example... | 20:31 | 
| xdotx | besides, you -can- use the C library if you want to avoid C++'s | 20:31 | 
| nash | But you missed my first one | 20:31 | 
| nash | xdotx: Only if you want to get to parts of C++ the designer says you should not be able to use: | 20:32 | 
| nash | malloc() ;-) | 20:32 | 
| nash | Any function taking or returning void* is not blessed in C++ | 20:32 | 
| xdotx | i use, by choice a pretty minimal amount of OO in my game architecture this year | 20:32 | 
| nash | but you have to use some | 20:32 | 
| xdotx | eh, i don't have to, it's just the best tool for the job | 20:33 | 
| nash | mithro: The definitive IO system uses overloads... sorry - can't avoid it | 20:33 | 
| * xdotx nods | 20:33 | |
| xdotx | but you -can- use cstdio | 20:33 | 
| nash | xdotx: Print a pointer in cstdio in C++ portably... | 20:34 | 
| xdotx | nash: uh oh, is %p not portable? | 20:34 | 
| nash | Or more generically... use varargs in C++ portable using pointers | 20:34 | 
| nash | In C++... last I checked... no | 20:35 | 
| xdotx | nash: it should just include the C header :/ | 20:35 | 
| nash | It works (and will probably always will) | 20:35 | 
| nash | xdotx: is this allowed in C++ : | 20:35 | 
| nash | ClassX *x; x = (ClassX*)(void*)x? | 20:36 | 
| xdotx | allowed? yes. discouraged? of course | 20:36 | 
| nash | xdotx: And if you think you know the answer... you may want to check standards carefully | 20:36 | 
| xdotx | oh nuts | 20:37 | 
| xdotx | C style casting is discouraged anyways. which is also a confusing point of C | 20:37 | 
| nash | Works fine in C ;-) | 20:37 | 
| xdotx | nash: but C++ lets you be explicit about your cast, and there have been many times the compiler has nicely noted to me that I made a mistake in my casting, that would be been -hell- to debug with runtime errors | 20:38 | 
| nash | xdotx: Okay: printf("%p",x) -> va_arg(ap, (void*)) -> ??? | 20:39 | 
| nash | xdotx: Probably.. But then again C doesn't require so many casts as C++ | 20:40 | 
| mithro | woot, I started and argument and then left for lunch :P | 20:40 | 
| nash | In C a cast generally means an unportable conversion | 20:40 | 
| mithro | nash: you know what I miss most in C? function overloads | 20:41 | 
| nash | xdotx: The program we are working on at this moemnt has 8 casts in it. 4 can be removed... 12 man-months of development in C... | 20:41 | 
| nash | mithro: You know what I hate most about most other languages? Function overloads | 20:42 | 
| xdotx | heheh | 20:42 | 
| * xdotx saw that coming | 20:42 | |
| nash | mithro: As I said before... nice to write code using overloads. | 20:42 | 
| nash | PITA to debug... | 20:42 | 
| nash | Which overloaded function is being called...? | 20:42 | 
| xdotx | the one that makes sense! | 20:42 | 
| xdotx | learn the rules before you play hard ball? | 20:43 | 
| nash | xdotx: Most of my arguments about C++ boil down to that. | 20:43 | 
| nash | C++ is a nice language to write in. | 20:43 | 
| nash | It's a bad language to maintain. | 20:43 | 
| xdotx | hmm. i could easily agree and disagree with that | 20:43 | 
| nash | As a developer I spend more time maintain then writing.. so the best language is the language which is easiet to read | 20:44 | 
| mithro | nash: so python then? ;) | 20:44 | 
| xdotx | nash: the one thing i definitely love about C is that it is very easy to see the asm behind it, and know exactly what's going on | 20:44 | 
| nash | xdotx: Indeed | 20:45 | 
| mithro | my biggest problem with Python is that writing reliable code is hard | 20:45 | 
| nash | mithro: Could be worse... could be perl | 20:45 | 
| xdotx | but by the same token, you're very limited in the way you -can- express yourself. you're say, "this makes sense to me, and thus should be understood by the compiler" | 20:45 | 
| xdotx | you can end up having to write a lot more, and thus understand a lot more in order to maintain C, where a well developed C++ program is more flexible, making it easier to maintain | 20:46 | 
| nash | xdotx: But what about.. this makes sense to me... does it make sense to the guy down the hall who needs to debug it on a different architecture using a different compiler to the one I'm using? | 20:46 | 
| xdotx | nash: obey portability rules and good coding standards, and it should | 20:47 | 
| nash | xdotx: Great theory ;-) | 20:47 | 
| nash | xdotx: but you dtill haven't told me if %p is safe in C++ | 20:47 | 
| xdotx | nash: C++ allows you to be more explicit, which should make maintaining and understanding it's purpose easier | 20:47 | 
| xdotx | heh | 20:48 | 
| xdotx | nash: can i not brush that off to "you shouldn't need to know anyways" ? :P | 20:48 | 
| mithro | nash: in C, how do you do OO - say the stupid shape example where you have a triangle and square and just want to calculate the area without caring about which type of shape you are given? | 20:49 | 
| nash | xdotx: It depends... if you want to brush it off as "you shouldn't need to know" you need to then argue that C++ can't be understood by mere-mortals. | 20:50 | 
| xdotx | heheh | 20:50 | 
| nash | And you need to drop your argument you can use <cstdio> | 20:50 | 
| nash | xdotx: Two other questions.. can you pass a pointer to a) a function b) a method in C++ portably... | 20:51 | 
| mithro | nash: I guess you could use function pointers? | 20:51 | 
| xdotx | i'll just drop the whole thing entirely :) i gotta eat, shower, and learn more python | 20:51 | 
| nash | xdotx: :-) | 20:51 | 
| nash | mithro: Yes | 20:51 | 
| nash | mithro: Exactly the same as C++ ;-) Just you need to do: | 20:51 | 
| *** shenki has joined #tp | 20:51 | |
| nash | strut shape { int (*area)(struct shape *) } | 20:52 | 
| xdotx | nash: i gotta ask though, what do you mean "pass a pointer" ? what use is "a pointer"? | 20:53 | 
| nash | xdotx: struct ecore_timer_add(double delay, int (*callback)(void *data), void *data); | 20:54 | 
| nash | printf("Printf is at %p\n",printf); | 20:54 | 
| nash | xdotx: For real fun... is that printf legal C... if not... why not? | 20:55 | 
| mithro | I hate the function pointer syntax in C | 20:55 | 
| mithro | (well infact I hate the whole pointer syntax :P) | 20:55 | 
| xdotx | mithro: it does take a little work, but it's not -that- bad | 20:55 | 
| nash | mithro: You just can't read it... callback is a pointer to () a function taking (void *data) returning int | 20:56 | 
| mithro | I could be evil and use a cpp macro :P | 20:56 | 
| xdotx | right then left, starting at the identifier, obey the parens | 20:56 | 
| nash | mithro: No, use a typedef | 20:56 | 
| * xdotx nods @ nash | 20:56 | |
| nash | typedef int (*TimerCallback)(void*); | 20:56 | 
| nash | int ecore_timer_add(double delay, TimeCallback callback); | 20:57 | 
| nash | See - easy ;-) | 20:57 | 
| nash | Anywya - lunch time | 20:57 | 
| nash | talk to you in a while | 20:57 | 
| mithro | #define funcdef(name, rettype, ..) typedef rettype (*name)(..) | 20:57 | 
| mithro | or something along those lines | 20:59 | 
| mithro | nash: I just don't find the pointer syntax intuitive | 21:03 | 
| *** mithro has quit IRC | 21:56 | |
| *** CIA-11 has quit IRC | 21:56 | |
| *** TBBle has quit IRC | 21:56 | |
| *** CIA-11 has joined #tp | 21:57 | |
| *** mithro has joined #tp | 21:57 | |
| *** TBBle has joined #tp | 22:03 | |
| *** Epyon has quit IRC | 22:06 | |
| *** Epyon has joined #tp | 22:06 | |
| mithro | yay for non-well formed file formats which can't possible work | 22:06 | 
| *** Epyon has quit IRC | 22:25 | |
| *** Epyon has joined #tp | 22:27 | |
| nash | Biggest feature I miss from C++ in C... | 23:46 | 
| nash | In C++ you can return an expression returning void.... | 23:46 | 
| nash | hence: | 23:46 | 
| nash | void foo(int *x){ | 23:46 | 
| nash | ... | 23:46 | 
| nash | return free(something); | 23:46 | 
| nash | which means you can do | 23:46 | 
| nash | if (someerror) return free(somethingIalloced)l; | 23:47 | 
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!