00:12:06 | * | DAddYE joined #nimrod |
00:53:23 | * | hoverbear joined #nimrod |
01:08:33 | * | hoverbear quit () |
01:17:51 | * | hoverbear joined #nimrod |
01:27:58 | * | hoverbear quit () |
01:33:16 | * | DAddYE quit (Remote host closed the connection) |
01:33:42 | * | DAddYE joined #nimrod |
01:38:15 | * | DAddYE quit (Ping timeout: 252 seconds) |
01:38:30 | * | hoverbear joined #nimrod |
01:46:44 | * | springbok quit (Ping timeout: 255 seconds) |
01:49:54 | * | springbok joined #nimrod |
01:50:10 | * | springbok quit (Changing host) |
01:50:10 | * | springbok joined #nimrod |
02:22:49 | * | hoverbear quit () |
02:34:18 | * | DAddYE joined #nimrod |
02:38:18 | * | DAddYE quit (Ping timeout: 240 seconds) |
02:44:21 | * | q66 quit (Quit: Leaving) |
02:58:41 | * | hoverbear joined #nimrod |
02:59:08 | * | Varriount|Mobile joined #nimrod |
02:59:52 | Varriount|Mobile | This is an odd comment towards Nimrod -> http://www.reddit.com/r/Python/comments/25tvdj/what_are_your_thoughts_on_nimrod/chkp88m |
03:00:22 | Varriount|Mobile | How could having macros be interpreted as a deal breaker? |
03:05:13 | fowl | Varriount, in the same way that having too many libraries could be seen as a bad thing |
03:05:26 | fowl | or your program running too fast |
03:06:51 | Varriount|Mobile | It's not like macros are even used that much... |
03:07:26 | fowl | its like openning the fridge and seeing 8 tasty snacks instead of 1 |
03:07:40 | fowl | making decisions is hard :/ |
03:08:48 | Varriount|Mobile | fowl: Or like being presented with a tasty chocolate cake when you're on a diet? |
03:08:48 | renesac | Varriount|Mobile, they are afraid of how you can change the syntax (not really true for nimrod), declare variables invisibly, etc |
03:09:29 | renesac | in sum, they think it is a too powerful feature that can be used to do evil |
03:10:17 | Varriount|Mobile | If you follow that logic, Java is the perfect language, not Python |
03:10:24 | renesac | indeed |
03:11:07 | Varriount|Mobile | Python supports all sorts of wierd things, many of which are akin to macros |
03:11:54 | fowl | python has some kind of eval that can be used for metaprogramming, doesnt it |
03:12:24 | renesac | fowl, it is ugly, decent python programmers don't use it |
03:12:35 | fowl | Firefox can't find the file at http://www.reddit.com/r/Python/comments/25tvdj/what_are_your_thoughts_on_nimrod/. |
03:12:44 | fowl | is my internet futzing |
03:12:55 | renesac | it opens for me |
03:13:04 | Varriount|Mobile | renesac: Ever used named tuples? |
03:13:12 | fowl | hrm |
03:13:16 | renesac | in python? |
03:13:20 | renesac | I think once |
03:13:22 | Varriount|Mobile | Yeah |
03:13:40 | Varriount|Mobile | Those are supported by eval() |
03:14:06 | renesac | hum |
03:14:13 | renesac | yeah, that is a good example |
03:14:22 | renesac | didn't know that |
03:18:32 | * | Varriount|Mobile quit (Ping timeout: 255 seconds) |
03:19:20 | * | xtagon_ joined #nimrod |
03:21:15 | * | Varriount|Mobile joined #nimrod |
03:22:30 | Varriount|Mobile | Sorry for the disconnect. I'm currently babysitting (kids are asleep, but parents are still away) so I'm relying on a weak cell signal |
03:23:07 | * | xtagon quit (Ping timeout: 252 seconds) |
03:34:13 | * | Varriount|Mobile quit (Remote host closed the connection) |
03:45:00 | * | hoverbear quit () |
03:45:24 | * | hoverbear joined #nimrod |
04:07:28 | * | bjz_ joined #nimrod |
04:07:32 | * | bjz quit (Read error: Connection reset by peer) |
04:11:10 | * | bjz joined #nimrod |
04:13:35 | * | bjz_ quit (Read error: Connection reset by peer) |
04:14:16 | * | hoverbear quit () |
04:15:09 | * | hoverbear joined #nimrod |
04:15:29 | * | flaviu1 joined #nimrod |
04:33:22 | * | hoverbear quit () |
05:02:38 | * | hoverbear joined #nimrod |
05:02:41 | * | hoverbear quit (Max SendQ exceeded) |
05:03:20 | * | hoverbear joined #nimrod |
05:25:37 | * | flaviu1 quit (Quit: Leaving.) |
05:30:18 | Demos_ | macros are SOOOO much less evil than a textual preprocessor, although harder to understand I think. |
05:30:22 | Demos_ | Not harder to use though |
05:36:31 | * | xtagon_ quit (Quit: Leaving) |
06:18:03 | * | springbok quit (Ping timeout: 258 seconds) |
06:29:59 | * | springbok joined #nimrod |
06:30:23 | * | springbok is now known as Guest95211 |
06:38:54 | fowl | logged into reddit to upboat you guys |
06:39:03 | fowl | yes, a little piece of me died in the process |
06:46:38 | * | Demos_ quit (Read error: Connection reset by peer) |
06:52:37 | * | hoverbear quit () |
06:57:55 | * | Guest95211 quit (Ping timeout: 258 seconds) |
07:04:11 | * | Varriount|Mobile joined #nimrod |
07:04:38 | Varriount|Mobile | fowl: I hope that piece of you had a well deserved funeral |
07:06:24 | * | Varriount|Mobile quit (Read error: Connection reset by peer) |
07:06:30 | * | Varriount-Mobile joined #nimrod |
07:08:58 | * | Guest95211 joined #nimrod |
07:09:06 | * | Varriount-Mobile quit (Read error: No route to host) |
07:11:48 | * | ehaliewicz joined #nimrod |
08:10:41 | * | kunev joined #nimrod |
08:29:07 | * | vendethiel joined #nimrod |
08:40:43 | * | lyro joined #nimrod |
08:47:29 | * | ehaliewicz quit (Ping timeout: 255 seconds) |
09:05:13 | * | lyro quit (Remote host closed the connection) |
09:12:11 | * | Matthias247 joined #nimrod |
09:16:12 | * | BitPuffin joined #nimrod |
09:25:45 | * | BitPuffin quit (Ping timeout: 252 seconds) |
09:35:40 | * | BitPuffin joined #nimrod |
10:23:11 | * | lyro joined #nimrod |
11:05:10 | * | lyro quit (Ping timeout: 258 seconds) |
11:24:46 | * | BitPuffin quit (Ping timeout: 265 seconds) |
11:27:51 | * | noam quit (Ping timeout: 252 seconds) |
11:49:16 | * | EXetoC quit (Quit: EXetoC) |
12:11:39 | * | untitaker quit (Ping timeout: 265 seconds) |
12:13:55 | * | Guest95211 quit (Ping timeout: 240 seconds) |
12:16:42 | * | untitaker joined #nimrod |
12:34:38 | * | EXetoC joined #nimrod |
12:38:25 | * | darkf quit (Quit: Leaving) |
12:43:42 | * | kunev quit (Quit: leaving) |
12:47:13 | EXetoC | fowl: is mrb_irep the first undeclared symbol for you? it works if I include irep.h directly |
13:11:41 | * | q66 joined #nimrod |
13:11:41 | * | q66 quit (Changing host) |
13:11:41 | * | q66 joined #nimrod |
13:24:31 | EXetoC | fowl: you said that no shared lib is generated, so why are you linking? |
13:32:43 | * | BitPuffin joined #nimrod |
13:44:07 | EXetoC | mrb_open for example is defined in state.c |
14:28:02 | EXetoC | or did you just say you didn't want to do dynamic linking? |
14:43:02 | * | Matthias247 quit (Read error: Connection reset by peer) |
15:38:29 | * | flaviu1 joined #nimrod |
15:42:00 | flaviu1 | https://docs.google.com/viewer?url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2FE%2FA%2FD%2FEADEC33E-FBA3-43BF-9226-427BDAC27610%2FRoslyn%2520Project%2520Overview.docx |
15:42:56 | flaviu1 | its really worth at least skimming over, Roslyn does some really neat stuff that Nimrod can almost do |
15:57:20 | * | kunev joined #nimrod |
15:57:54 | * | flaviu1 quit (Quit: Leaving.) |
16:17:43 | * | nicolastarzia joined #nimrod |
16:19:41 | * | Guest95211 joined #nimrod |
16:47:52 | * | kunev quit (Ping timeout: 258 seconds) |
16:58:20 | * | hoverbear joined #nimrod |
16:59:42 | * | Skrylar quit () |
17:01:18 | fowl | EXetoC, cant do dynamic linking |
17:03:49 | * | n1colastarzia joined #nimrod |
17:06:32 | * | nicolastarzia quit (Ping timeout: 255 seconds) |
17:10:07 | * | Demos_ joined #nimrod |
17:16:16 | * | kunev joined #nimrod |
17:17:47 | EXetoC | fowl: ok so how do I include the definitions? |
17:18:03 | * | hoverbear quit () |
17:23:37 | fowl | EXetoC, idk :x the c version works fine with just mruby.h and mruby/compile.h |
17:25:12 | EXetoC | fowl: {.emit: slurp...? :> |
17:29:08 | fowl | slurp what? |
17:31:32 | EXetoC | an alias for staticRead ofc! even though Slurp is the magic name |
17:32:23 | fowl | how would it help |
17:38:32 | * | hoverbear joined #nimrod |
17:39:33 | EXetoC | fowl: because the definitions get injected into the TU |
17:41:31 | EXetoC | "undeclared identifier" is how far I got, then I emitted the content of state.c and got rid of some of those errors |
17:45:00 | EXetoC | and now it's looking for mrb_load_string which is generated from some yacc file |
17:48:59 | EXetoC | I can just use the generated file |
17:49:09 | * | hoverbear quit () |
17:59:31 | fowl | mrb_load_string is in mruby/compile.h |
18:00:24 | EXetoC | just the declaration |
18:01:07 | fowl | EXetoC, its in libmruby.a |
18:01:32 | fowl | the c ex. works fine https://gist.github.com/fowlmouth/ddcc02d2ce03403cee36#file-test-c |
18:09:09 | EXetoC | fowl:30d29 |
18:09:11 | EXetoC | < {.pragma: hirep, header: "<mruby/irep.h>".} |
18:09:13 | EXetoC | 37c36 |
18:09:15 | EXetoC | < mrb_irep* {.importc,hirep.} = object |
18:09:17 | EXetoC | --- |
18:09:19 | EXetoC | > mrb_irep* {.importc,h.} = object |
18:10:36 | EXetoC | nimrod c --passl:-lm --cincludes:./include --clibdir:./build/host/lib --parallelBuild:1 -r mruby |
18:18:06 | fowl | nimrod will always add -lm |
18:18:43 | * | kunev quit (Ping timeout: 240 seconds) |
18:19:32 | * | kunev joined #nimrod |
18:19:48 | EXetoC | well I added it because the math symbols couldn't be located |
18:19:48 | fowl | ah needed import math |
18:19:53 | EXetoC | oh |
18:20:10 | fowl | EXetoC, thanks homie, i just dont understand how the c example doesnt have to reference irep.h or any of that :/ |
18:29:56 | EXetoC | fowl: I don't know. because of gcc -c? |
18:31:37 | fowl | whats that |
18:32:09 | fowl | -c Compile and assemble, but do not link |
18:32:09 | fowl | eh |
18:34:12 | EXetoC | or because mrb_irep is actually used there, while it isn't used in that test |
18:35:21 | EXetoC | irep.h isn't being included either directly or indirectly in that test |
18:49:52 | fowl | EXetoC, yeah but no code should be emitted from mruby.nim |
18:50:39 | fowl | these shouldnt be there: typedef N_CDECL_PTR(void, TY98393) (mrb_state* mrb, mrb_irep* irep, mrb_code* p |
19:04:36 | EXetoC | ok so it doesn't handle proc fields correctly |
19:08:30 | EXetoC | let's just port the thing. only 47214 lines :p |
19:13:54 | EXetoC | where do we put it? in nimrod-code? |
19:15:44 | EXetoC | that seems appropriate. what exactly goes there? official tools, and "core" wrappers? |
19:19:58 | Araq | yup |
19:20:46 | fowl | maintaining a port doesnt sound fun |
19:20:55 | fowl | unless of course you can just c2nim the whole project |
19:21:19 | Araq | we need a general patch+c2nim+patch tool |
19:21:20 | * | hoverbear joined #nimrod |
19:21:33 | Araq | so wrappers/ports can easily be kept up to date |
19:28:42 | Demos_ | is there an example of perfect forwarding someplace, I seem to remember that one can do it, but I forget how |
19:29:29 | fowl | i think there is a pragma for it |
19:29:59 | Araq | I think it's possible with a macro in theory |
19:30:13 | Araq | but in practice the lack of a type API seriously hurts |
19:30:42 | fowl | go's generics (interface{}) looks horrible |
19:31:32 | * | hoverbear quit () |
19:31:41 | Demos_ | yeah, you use like a varargs[expr] and you can shove the whole deal to another proc |
19:31:44 | Demos_ | right? |
19:32:38 | Araq | Demos_: right |
19:32:48 | Araq | I described the details on the forum somewhere |
19:34:42 | * | io2 joined #nimrod |
19:35:10 | * | bjz_ joined #nimrod |
19:35:24 | * | bjz quit (Read error: Connection reset by peer) |
19:36:45 | * | kunev quit (Quit: leaving) |
19:38:26 | * | nande joined #nimrod |
19:42:10 | * | Matthias247 joined #nimrod |
19:44:31 | EXetoC | is nimborg supposed to be just a collection of libs? |
19:44:54 | Araq | who knows |
19:56:37 | * | hoverbear joined #nimrod |
20:14:14 | * | xenagi joined #nimrod |
20:16:53 | * | xenagi quit (Client Quit) |
20:22:01 | * | nande quit (Ping timeout: 276 seconds) |
20:22:04 | * | Guest95211 is now known as springbok |
20:22:15 | * | springbok quit (Changing host) |
20:22:15 | * | springbok joined #nimrod |
20:23:53 | * | BitPuffi1 joined #nimrod |
20:25:52 | * | BitPuffin quit (Ping timeout: 240 seconds) |
20:27:07 | * | renesac quit (Quit: Leaving) |
20:32:43 | * | Mat3 joined #nimrod |
20:32:52 | Mat3 | good evening |
20:34:23 | Araq | hi Mat3 |
20:34:28 | * | hoverbear quit () |
20:40:10 | * | whoot joined #nimrod |
20:42:07 | whoot | Hi. I'm feeling dumb at this point, been trying to figure this out for a while: how do I get a string from a cstring? |
20:42:09 | Mat3 | hi Araq |
20:42:22 | Demos_ | $ |
20:42:24 | Mat3 | what's new ? |
20:42:30 | Demos_ | just $thing where thing is a cstring |
20:42:54 | Demos_ | we should really make that more clear in the manual |
20:43:25 | Araq | hi whoot welcome |
20:43:26 | whoot | gosh, it's actually a ptr cstring |
20:43:50 | whoot | hi Araq |
20:43:53 | whoot | thanks |
20:44:01 | Araq | $foo[] then |
20:44:33 | Araq | also check if it's really a "ptr cstring" and shouldn't be a cstringArray instead |
20:45:54 | whoot | my bad |
20:46:06 | whoot | printf("%s\n", err) <- works |
20:46:17 | whoot | echo $err <- does not |
20:46:30 | whoot | Error: type mismatch: got (proc (varargs[T]), ptr cstring) |
20:46:33 | Araq | #! strongSpaces |
20:46:41 | Araq | add this as your first line |
20:46:43 | Araq | or use |
20:46:48 | Araq | echo($err) |
20:47:31 | Araq | it's a common gotcha |
20:48:09 | whoot | ok, getting somewhere now |
20:48:20 | whoot | echo($err) |
20:48:29 | whoot | Error: type mismatch: got (ptr cstring) |
20:48:51 | Araq | who declared 'err'? |
20:49:04 | whoot | I'm a noob, probably did something very wrong |
20:49:16 | Araq | yup, you didn't use c2nim :P |
20:49:28 | Araq | char* is 'cstring', not 'ptr cstring' |
20:49:33 | whoot | I'm calling a c library which demands a char **err |
20:49:55 | Araq | if err is char** how can printf work the way you described? |
20:49:56 | whoot | if there is an error, it sets the pointer to a value |
20:50:07 | whoot | let me check |
20:50:11 | fowl | whoot, i recommend you use `var cstring` instead |
20:50:41 | whoot | the function has last arg err: ptr ptr cstring |
20:50:50 | whoot | well that's what I put in there |
20:51:05 | fowl | whoot, *char is cstring, **char is ptr string |
20:51:08 | fowl | ptr cstring* |
20:51:48 | whoot | I have a ptr cstring somewhere and i pass addr(x) to the fn |
20:52:03 | whoot | sorry, to the proc. |
20:52:23 | fowl | can you paste it somewhere |
20:52:37 | whoot | yeah, but I'm hesitant to embarass myself |
20:52:53 | Araq | don't worry, you already did :D |
20:53:08 | whoot | lol |
20:54:26 | whoot | http://pastebin.com/px1fmzFc |
20:54:38 | Mat3 | ciao |
20:54:42 | * | Mat3 quit (Quit: Verlassend) |
20:55:19 | whoot | the while true is idiotic, i was checking out whether i was leaking memory, please disregard |
20:56:02 | EXetoC | everyone does stupid things |
20:56:20 | whoot | I tried c2nim but I was confused by the result, I will try again later once I have a better grasp of the language :) |
20:57:37 | EXetoC | of what? usually you want to remove things like blocks introduced by header guards and such |
20:57:53 | * | n1colastarzia quit (Ping timeout: 264 seconds) |
20:58:29 | whoot | yes, I also had some structs that were defined in other header files and anyways I decided to go macho and do the interfacing by hand |
20:58:48 | whoot | just as an exercise to learn the lang |
20:58:48 | fowl | whoot, ok, change the structure to hold a cstring, change leveldb_open to take `var cstring` and when you call it just pass db.err |
20:59:09 | fowl | whoot, i just checked leveldb_open() it takes char** for err |
21:00:27 | whoot | yes, I thought ptr ptr cstring was that. probably one ptr too many right? |
21:00:36 | fowl | yea |
21:00:43 | fowl | as been said, cstring is ptr char |
21:01:09 | fowl | so ptr ptr cstring is char*** |
21:02:40 | whoot | leveldb_open should take ptr cstring then right? |
21:03:05 | fowl | whoot, yea |
21:03:15 | whoot | omg yes it works |
21:03:27 | whoot | thanks guys |
21:04:32 | fowl | btw you can echo a cstring, no need for printf |
21:05:01 | whoot | yeah, got rid of the printf now |
21:27:52 | * | xtagon joined #nimrod |
21:35:59 | * | hoverbear joined #nimrod |
21:42:29 | whoot | no such thing as private methods, right? |
21:42:54 | EXetoC | you can choose not to export certain symbols by omitting * |
21:45:17 | whoot | thanks sir |
21:45:30 | whoot | i'll call it a day, thanks for your help! |
21:46:09 | EXetoC | no problem |
21:48:41 | * | hoverbear quit () |
21:48:47 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
21:49:44 | * | whoot quit (Quit: Leaving) |
22:13:33 | * | springbok quit (*.net *.split) |
22:13:33 | * | Varriount quit (*.net *.split) |
22:13:35 | * | oxful__ quit (*.net *.split) |
22:13:38 | * | betawaffle quit (*.net *.split) |
22:13:38 | * | jez0990 quit (*.net *.split) |
22:13:39 | * | Matthias247 quit (*.net *.split) |
22:13:42 | * | dymk quit (*.net *.split) |
22:13:44 | * | dLog quit (*.net *.split) |
22:13:45 | * | Amrykid quit (*.net *.split) |
22:13:45 | * | mal`` quit (*.net *.split) |
22:13:48 | * | untitaker quit (*.net *.split) |
22:13:50 | * | zahary quit (*.net *.split) |
22:13:52 | * | Demos_ quit (*.net *.split) |
22:13:53 | * | Xuerian quit (*.net *.split) |
22:13:54 | * | icebattle quit (*.net *.split) |
22:14:29 | * | nande joined #nimrod |
22:18:38 | * | nande quit (Ping timeout: 240 seconds) |
22:19:21 | * | icebattle joined #nimrod |
22:19:46 | * | noam joined #nimrod |
22:19:46 | * | Matthias247 joined #nimrod |
22:19:46 | * | Demos_ joined #nimrod |
22:19:46 | * | springbok joined #nimrod |
22:19:46 | * | untitaker joined #nimrod |
22:19:46 | * | Varriount joined #nimrod |
22:19:46 | * | Xuerian joined #nimrod |
22:19:46 | * | betawaffle joined #nimrod |
22:19:46 | * | jez0990 joined #nimrod |
22:19:46 | * | oxful__ joined #nimrod |
22:19:46 | * | mal`` joined #nimrod |
22:19:46 | * | Amrykid joined #nimrod |
22:19:46 | * | dLog joined #nimrod |
22:19:46 | * | dymk joined #nimrod |
22:19:46 | * | 17SAAEO6V joined #nimrod |
22:19:46 | * | zahary joined #nimrod |
22:20:21 | * | 17SAAEO6V quit (Write error: Broken pipe) |
22:23:50 | dom96 | looks like I need to look at r/nimrod more often |
22:23:51 | dom96 | http://www.reddit.com/r/nimrod/comments/25sbjp/how_can_nimrod_become_more_popular/ |
22:24:22 | * | nande joined #nimrod |
22:32:48 | fowl | dom96, ill look into reddit hooks and see if i can whip up a listener |
22:33:01 | dom96 | fowl: Integrate it into nimbot please |
22:34:03 | fowl | alright |
22:34:17 | * | hoverbear joined #nimrod |
22:48:55 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:48:57 | * | hoverbear quit () |
22:51:42 | * | hoverbear joined #nimrod |
22:53:12 | * | nande quit (Read error: Connection reset by peer) |
22:54:32 | * | Kazimuth joined #nimrod |
22:58:59 | * | flaviu1 joined #nimrod |
22:59:29 | Araq | hi Kazimuth welcome |
23:00:40 | Araq | flaviu1: believe it or not, but I skimmed Roslyn's code weeks ago |
23:00:52 | flaviu1 | How was it? |
23:02:38 | Araq | parts are excellent, parts are stupid |
23:03:06 | Araq | no idea how can one seriously consider the visitor pattern for a compiler in 2013 |
23:06:22 | Kazimuth | hey Araq |
23:08:51 | * | darkf joined #nimrod |
23:12:36 | dom96 | Araq: Could we get [-2 .. -1] down to [-2 ..]? |
23:13:13 | Araq | as I said, yes |
23:13:22 | dom96 | you did? |
23:13:27 | Araq | but it requires 2 language additions |
23:13:34 | Araq | we recently talked about it, dom96 |
23:13:44 | dom96 | we as in me and you? |
23:13:58 | Araq | we as in some guys here in #nimrod |
23:14:04 | dom96 | ahh |
23:14:06 | dom96 | Good. |
23:14:13 | dom96 | Well i'm writing a reply to some guy on reddit |
23:14:29 | dom96 | and I wrote "... the beauty with Nimrod is that I can suggest that to the creator of Nimrod right now at #nimrod on freenode ;)" |
23:14:31 | dom96 | :P |
23:15:52 | Demos_ | Araq: why would anyone use the visitor pattern AT ALL in 2013 :D |
23:17:24 | * | hoverbear quit () |
23:18:45 | Araq | Demos_: true |
23:25:39 | fowl | most oop languages require it to get around not having dynamic dispatch |
23:25:49 | Demos_ | fowl: multiple dispatch |
23:25:50 | fowl | er multiple dispatch |
23:26:34 | Araq | fowl: C# has closures and multi methods and all this stuff |
23:26:55 | Demos_ | Araq: c#'s multimethods are a little strange though right? |
23:27:07 | Araq | but this way of structuring the code makes no sense for a compiler |
23:27:27 | Araq | you get rid of 1 single level of case/pattern matching |
23:27:40 | Demos_ | does the visitor pattern have advantages over some multimethod implementations wrt stuff like ABIs and using them across dynamic libraries? |
23:28:03 | Araq | and then nobody matches f(g(x, y)) via the visitor pattern because that makes your brain explode |
23:29:06 | Araq | it's hard to come up with other examples that scale as badly as the visitor pattern for compilers |
23:29:34 | Demos_ | I find even double dispatch with visitors very unnatural and brain exploading |
23:29:45 | Demos_ | maybe for stuff like traversing a graph, but still |
23:32:19 | Araq | I like the names in the classical visitor pattern ... "accept" ... WTF?! |
23:32:37 | Araq | and people tell me my 1 letter vars are bad :P |
23:34:59 | flaviu1 | Araq: I can't grep for 1 letter vars, but they are somewhat readable in the shorter methods |
23:41:53 | Araq | ok, good night |
23:46:51 | EXetoC | I haven't seen any 1-letter identifiers at the module scope though, fortunately |
23:55:57 | * | boydgreenfield joined #nimrod |
23:57:34 | Demos_ | yo EXetoC: does opengl call glGetError in release mode? |