00:17:39 | dom96 | filwit: Any advances with the logo? |
00:18:14 | * | nolan2 quit (Ping timeout: 255 seconds) |
00:20:06 | filwit | hey sorry dom96 |
00:20:20 | filwit | i'm going to start in second |
00:20:25 | filwit | i promise :P |
00:20:41 | dom96 | filwit: no worries |
00:21:59 | filwit | dom96: you want to use the same font as Nimrod logo? |
00:22:06 | filwit | so they go together |
00:22:30 | dom96 | perhaps, sure, we can use that for now and see how it works out. |
00:25:48 | filwit | well i'm just thinking that can be our connection |
00:25:56 | filwit | (instead of the "hats" idea) |
00:27:01 | dom96 | alright |
00:27:39 | filwit | i have an idea, making it now |
00:27:50 | filwit | will show you when it's done, maybe 30mins or so |
00:27:55 | dom96 | but wait, hrm. The icon will be square right? |
00:28:03 | filwit | why? |
00:28:11 | filwit | what do you mean? |
00:28:28 | dom96 | Are you planning to have some sort of abstract image with the text "Aporia" on top? |
00:28:38 | filwit | no |
00:28:40 | dom96 | I'm wondering what you're using a font for. |
00:28:59 | filwit | Aporia should be included in the design |
00:29:03 | filwit | but there will be a symbol |
00:29:09 | filwit | just like the nimrod logo |
00:29:24 | filwit | the symbol can be extracted from the logo though |
00:29:27 | filwit | and used on it's own |
00:29:46 | dom96 | ahh, ok. |
00:30:10 | filwit | the "logo" usually means "the symbol", it's the icon without text. But "the brand" is the whole thing, words inluded |
00:30:14 | filwit | included* |
00:30:18 | dom96 | I'm mostly interested in an icon for the application, haven't really thought about how it should look in the About dialog or even the website yet. |
00:30:26 | filwit | you want to make the brand/logo at the same time though |
00:30:29 | filwit | to make sure they fit |
00:30:33 | dom96 | I see. |
00:40:45 | * | fowl quit (Read error: Connection reset by peer) |
00:44:15 | reactormonk | Araq, except the stacktrace is defined outside system.nim |
00:45:25 | Araq | no it's not |
00:45:36 | Araq | getStackTrace is in system.nim |
00:47:27 | reactormonk | can I just set a breakpoint? |
00:47:52 | Araq | sure if you know how |
00:48:53 | reactormonk | I don't |
00:49:07 | Araq | do you like endb? |
00:49:11 | Araq | or gdb? |
00:50:12 | reactormonk | endb? never heard of. is it good? |
00:50:24 | reactormonk | not in aur |
00:50:33 | Araq | lol |
00:52:24 | Araq | try: koch boot --debuginfo --linedir:on |
00:52:34 | Araq | and use gdb |
00:53:04 | dom96 | reactormonk: endb is the embedded nimrod debugger :P |
00:54:08 | Araq | which is great |
00:54:17 | Araq | but only has 1 user |
00:54:23 | Araq | and that's me ;-) |
00:54:35 | dom96 | What makes you think I don't use it? |
00:54:52 | Araq | I never hear you complain about it :P |
00:57:01 | dom96 | What, complain? Your software is always production-ready, nothing to complain about. |
00:57:15 | sdw | is debugging done by looking at the resulting C code? |
00:57:34 | Araq | sdw: nimrod can generate #line for you |
00:57:45 | Araq | and locals are not mangled |
00:59:28 | sdw | so what are the major problems we run into when debugging nimrod code? |
01:00:30 | Araq | I have no major problems |
01:00:38 | sdw | ha :P |
01:00:47 | Araq | except that I keep editing endb for my needs |
01:00:59 | sdw | so all the usual C debugging tools are always available as a kind of safety net? |
01:01:24 | Araq | except valgrind as I have not gotten around to write a config file for it |
01:01:34 | sdw | but i assume most day-to-day debugging is done with explicit writing of state |
01:01:49 | Araq | valgrind complains about nimrod's GC reading uninit data from the stack |
01:01:59 | sdw | ive never used valgrind |
01:02:11 | Araq | but since it has to scan the stack conservatively, it's no bug |
01:02:26 | Araq | and nothing we can do about taht |
01:02:35 | Araq | except making valgrind shut up about this |
01:02:54 | sdw | but aporia doesn't have some magic debugger mode that im missing out on, right? |
01:03:01 | * | sdw can't run it to see |
01:04:08 | dom96 | sdw: why can't you run it? |
01:04:26 | dom96 | But no, it doesn't have a debugger mode yet. |
01:04:36 | Araq | sdw: try ENDB |
01:04:55 | sdw | PS C:\nimrod\Aporia> .\aporia.exe |
01:04:56 | sdw | could not import: PS C:\nimrod\Aporia> |
01:05:01 | Araq | you can use it to do inject code between every single executed statement |
01:05:13 | sdw | i does pause for a bit before it finally crashes |
01:05:31 | dom96 | sdw: Have you installed all the dependencies? |
01:05:41 | sdw | afaik :o) |
01:05:55 | Araq | weird thing is the error message itself already |
01:06:13 | Araq | what is it it couldn't import? |
01:06:28 | sdw | quite a mystery |
01:06:44 | sdw | let me make sure all this gtk stuff is in my path |
01:06:55 | Araq | and please run it from cmd.exe too |
01:07:28 | dom96 | Araq: Are there cases where it simply does not know? This seems like a bug... the newline isn't even echoed. |
01:07:32 | sdw | cmd.exe is no change |
01:10:20 | sdw | my path looks good |
01:10:24 | Araq | I'll reboot soon and try it for myself |
01:10:54 | sdw | i've copied pcre.dll from the nimrod compiler directory |
01:11:14 | reactormonk | Araq, and how do I use it? |
01:11:17 | Araq | maybe you build a 64bit thing |
01:11:26 | sdw | i did |
01:11:31 | sdw | is that not a 64bit dll? |
01:11:37 | Araq | no ... |
01:11:50 | sdw | Alright, I think I've discovered the problem ;) |
01:12:09 | reactormonk | Araq, rather, how do I add breakpoints... |
01:12:24 | Araq | reactormonk: {.breakpoint.} for ENDB |
01:12:36 | Araq | break file.nim:244 for gdb |
01:14:33 | reactormonk | lib/system.nim(886, 62) Error: invalid pragma: breakpoint |
01:14:33 | reactormonk | compiler/nimrod0 cc -d:withUpdate -d:useGnuReadline --debuginfo --linedir:on compiler/nimrod.nim |
01:15:14 | Araq | reactormonk: you have to use --debugger:on instead of --debuginfo --linedir:on for endb |
01:15:36 | Araq | and then I guess it won't work because 'quit' has no body |
01:16:43 | reactormonk | Araq, still invalid pragma |
01:16:58 | Araq | you have to use it as a statement |
01:17:24 | reactormonk | oh |
01:17:40 | reactormonk | Error: system module needs 'endb' |
01:18:42 | Araq | :P |
01:19:07 | Araq | you know ... endb ends up calling quit ... |
01:19:17 | Araq | so you have a nice problem here |
01:19:21 | reactormonk | -.- |
01:19:28 | Araq | come on |
01:19:41 | Araq | there are only 3 places where the compiler uses quit |
01:20:01 | Araq | put an "echo 1|2|3" before those and on you go |
01:20:45 | reactormonk | could you give them? |
01:22:03 | Araq | compiler/msgs.nim:526: if isNil(stdoutSocket): quit(0) |
01:22:05 | Araq | compiler/msgs.nim:658: quit(1) |
01:22:07 | Araq | compiler/msgs.nim:664: quit(1) |
01:22:08 | Araq | compiler/msgs.nim:666: quit(1) |
01:23:57 | dom96 | what if the compiler exits naturally? |
01:26:08 | reactormonk | Araq, apparently stdoutSocket is nil |
01:28:38 | Araq | reactormonk: do you use "tcp" or "stdin"? |
01:28:51 | reactormonk | stdin |
01:29:12 | Araq | yeah can't work then |
01:29:19 | Araq | look at the code in service.nim |
01:29:45 | Araq | it only news the stdoutSocket for tcp |
01:29:53 | reactormonk | :D |
01:30:00 | reactormonk | ... so what? |
01:30:10 | reactormonk | just set it to something? :-/ |
01:30:12 | Araq | so it stays nil for stdin |
01:30:17 | reactormonk | guessed so |
01:30:29 | reactormonk | what's the nice idea? |
01:30:47 | Araq | I have no idea what zahary wants here |
01:31:14 | reactormonk | global var isServing and be done with it? |
01:31:31 | Araq | hmm |
01:31:32 | dom96 | check server.type param? |
01:32:04 | Araq | global var isServing sounds good |
01:32:15 | Araq | add it to options.nim |
01:32:20 | Araq | and set it in main.nim |
01:32:31 | Araq | and check the condition in msgs.nim |
01:32:36 | Araq | *change |
01:33:22 | * | nolan2 joined #nimrod |
01:35:51 | reactormonk | oke |
01:36:44 | Araq | sdw: check out system.dbgLineHook, it's a killer feature IMHO |
01:37:05 | Araq | http://nimrod-code.org/system.html#539 |
01:37:48 | reactormonk | like setTraceFunc in ruby :-) |
01:38:00 | nolan2 | Is it possible to have two different enums with similarly-named values? I.e. CoarseRelativeDirection.ahead, FineRelativeDirection.ahead, ...? |
01:38:44 | Araq | nolan2: yes, use {.pure.} enums |
01:38:49 | Araq | for that |
01:39:45 | Araq | reactormonk: damn you |
01:39:53 | Araq | it was my own invention :P |
01:40:11 | reactormonk | Araq, never seen it there |
01:40:18 | reactormonk | *used |
01:40:19 | Araq | and we should improve it i think |
01:40:39 | Araq | it should be passed the function, line and file |
01:41:38 | reactormonk | Araq, http://apidock.com/ruby/Kernel/set_trace_func |
01:42:37 | nolan2 | Cool, thanks. Where does the {.pure.} go? I tried TCoarseRelativeDirection = enum {.pure.} ... |
01:42:47 | nolan2 | Also put it after the values. |
01:43:19 | Araq | TCoarse {.pure.} = enum works |
01:43:39 | Araq | after the "enum" keyword should work as well |
01:43:50 | nolan2 | Cool, thanks. |
01:44:17 | Araq | (but doesn't ... oh well) |
01:48:36 | nolan2 | Shall I file a bug? |
01:49:27 | Araq | no |
01:49:42 | Araq | the compiler knows the grammar than me |
01:49:47 | Araq | *better than |
01:50:26 | nolan2 | Ah. |
01:51:33 | reactormonk | Araq, incl for set checks? And what's the name where TOptions is stored? |
01:52:02 | Araq | use contains or "in" for set checks |
01:52:35 | Araq | and you shouldn't add an option but a global var isServing: bool instead |
01:53:20 | reactormonk | oh |
02:01:27 | reactormonk | Araq, now it sigsevs :-( |
02:01:42 | reactormonk | http://sprunge.us/VcVS |
02:04:14 | Araq | stdoutSocket.send("\c\L") |
02:04:25 | Araq | how can that work when stdoutSocket is nil? |
02:04:44 | Araq | so you really need to set it, sorry |
02:04:47 | Araq | my bad |
02:07:47 | dom96 | what? why would he need to set it in stdin mode? |
02:09:05 | Araq | well nimrod serve really wants to output to a socket |
02:09:26 | Araq | we could change that |
02:09:34 | Araq | I dunno what people want/need here |
02:09:49 | Araq | btw I just crashed aporia |
02:10:05 | Araq | dragged a tab before the first tab |
02:10:18 | Araq | hrm |
02:10:22 | Araq | can't reproduce it |
02:10:38 | * | Araq blames gtk instead |
02:11:41 | dom96 | what's the error? |
02:12:25 | Araq | no idea, it just crashed |
02:13:10 | dom96 | Should have ran it in the terminal |
02:25:02 | dom96 | filwit: I need to be going to sleep soon, able to show anything yet? |
02:26:33 | * | q66 quit (Remote host closed the connection) |
02:27:16 | * | Anaphaxeton quit (Remote host closed the connection) |
02:31:40 | dom96 | good night |
02:35:20 | reactormonk | Araq, why not simply http://sprunge.us/TfDL ? |
02:36:54 | reactormonk | doesn't react anymore afterwards :-( |
02:45:12 | Araq | hm I dunno |
02:55:36 | reactormonk | http://sprunge.us/TWfI whut |
02:56:28 | Araq | it shouldn't call gcc when it encountered an error ... |
02:56:34 | Araq | but I have to sleep now |
02:56:53 | NimBot | Araq/Nimrod 27fb667 Araq [+0 ±4 -0]: codegen produces better code for complex assignments |
02:56:53 | NimBot | Araq/Nimrod 181e242 Araq [+0 ±3 -0]: Merge branch 'master' of github.com:Araq/Nimrod |
02:57:03 | Araq | good night |
02:58:17 | reactormonk | oke |
02:58:32 | Amrykid | reactormonk, can i have a copy of what was changed? |
03:01:04 | reactormonk | Amrykid, sure |
03:01:16 | reactormonk | Amrykid, http://sprunge.us/EZSH |
03:01:33 | reactormonk | curl http://sprunge.us/EZSH | git patch |
03:01:36 | reactormonk | or so |
03:01:49 | Amrykid | reactormonk, thank you |
03:07:50 | Amrykid | reactormonk, do I have to run the build.bat/sh again after patching? |
03:07:58 | Amrykid | or do i have to re-gen the c source code. |
03:08:24 | reactormonk | Amrykid, nah |
03:08:26 | reactormonk | just boot |
03:08:35 | Amrykid | ah, k |
03:11:53 | Amrykid | something broke. |
03:12:22 | Amrykid | koch boot -d:release is spamming 'suggest' with the occasional 'hint' |
03:15:02 | * | Amrykid tries with a fresh clone |
03:20:26 | reactormonk | whut |
03:20:32 | Amrykid | same result. |
03:21:10 | Amrykid | proc suggestSym*(n: PNode, s: PSym) {.inline.} = |
03:21:10 | Amrykid | + echo("suggest") |
03:21:59 | Amrykid | 0_o nvm, it spams it for a while and then it continues |
03:22:16 | Amrykid | but that echo is getting called a LOT. |
03:24:03 | reactormonk | Amrykid, wtf, not once so far |
03:24:19 | reactormonk | well, does it work a second time? |
03:24:50 | Amrykid | then it does it when i go 'idetools --suggest --track:..\lib\js\dom.nim,1,1' when running serve from stdin |
03:25:03 | Amrykid | it doesn't crash, it just gets called a lot |
03:25:18 | Amrykid | probably got patched in wrong and still compiled. |
03:26:13 | reactormonk | huh |
03:26:37 | reactormonk | does spam with the newereds |
03:27:02 | Amrykid | suggest |
03:27:02 | Amrykid | suggest |
03:27:02 | Amrykid | suggest |
03:27:02 | Amrykid | suggest |
03:27:02 | Amrykid | suggest |
03:27:03 | Amrykid | suggest |
03:27:05 | Amrykid | suggest |
03:27:07 | Amrykid | suggest |
03:27:08 | reactormonk | ^^ |
03:27:09 | Amrykid | suggest |
03:27:23 | Amrykid | ... and it keeps going |
03:27:33 | Amrykid | with occasional [hint]s |
03:30:11 | Amrykid | ... and when i removed that echo, im not getting anything think from idetools --suggest in stdin :( |
03:39:05 | * | fowl joined #nimrod |
04:29:28 | reactormonk | Amrykid, try without the serve |
04:38:27 | reactormonk | Amrykid, dafuq. Still printing 'suggest' even if I kick the echo |
04:38:49 | reactormonk | wait, kicked it |
04:39:25 | reactormonk | I see why :-) |
04:59:40 | * | filwit quit (Quit: Leaving) |
05:07:05 | * | fowl quit (Ping timeout: 260 seconds) |
05:09:02 | reactormonk | wtf... endb stops somewhere entirely different |
05:19:04 | * | fowl joined #nimrod |
05:29:45 | * | fowl quit (Read error: Connection reset by peer) |
05:38:02 | * | fowl joined #nimrod |
07:53:43 | * | gour joined #nimrod |
08:38:03 | * | gour quit (Ping timeout: 245 seconds) |
08:42:14 | * | gour joined #nimrod |
09:00:33 | * | gour quit (Ping timeout: 245 seconds) |
09:03:39 | * | gour joined #nimrod |
09:08:42 | * | gour quit (Disconnected by services) |
09:08:43 | * | gour_ joined #nimrod |
09:13:44 | * | gour_ is now known as gour |
09:14:33 | gour | Araq: morning, https://mail.gnome.org/archives/gtk-list/2013-February/msg00055.html - nice illustration why gtk is not good-enough for multi-platform-capable language as nimrod |
09:57:03 | gour | fowl: thank you for the pointer about nake...haven't seen it before...do you plan to improve it further? |
09:58:51 | Araq | gour: sad to read that message |
09:58:58 | Araq | I like Gtk on windows |
10:01:22 | gour | it looks gtk is linux-only these days |
10:04:13 | gour | otoh, i'll use nimrod on linux and claro/gtk will look ok...let others on other platforms be happy with their platform's defaults or move to linux :-) |
10:05:21 | gour | https://mail.gnome.org/archives/gtk-list/2013-February/msg00017.html shows how people move to qt (same thread) |
10:07:59 | reactormonk | Araq, meh, $ for refs would be farely useful in JS |
10:08:25 | Araq | reactormonk: you can always do $x[] |
10:09:32 | reactormonk | Araq, sure, but unittest e.g. needs it predefined |
10:10:02 | gour | github might be ok for hosting only code, but wonder what would you recommend for the whole project: BB or SF? |
10:10:18 | Araq | no idea about BB |
10:10:26 | Araq | but SF is ugly and slow |
10:10:31 | gour | bitbucket? |
10:10:41 | Araq | yes. I never used it |
10:10:53 | gour | ahh ,ok |
10:11:00 | reactormonk | Araq, and proc `$`(x: ref object) = result = $x[] doesn't really work |
10:13:42 | Araq | ambiguous call; both system.$(x: T): string and lists.$(L: TSinglyLinkedList[T]): string match for: (TSinglyLinkedList[int]) |
10:13:45 | Araq | btw |
10:14:42 | Araq | so it already broke code :P |
10:14:42 | reactormonk | Araq, uh-oh |
10:14:54 | reactormonk | no less-specific resolution? |
10:15:08 | reactormonk | aka overwriting |
10:15:09 | Araq | not yet, no |
10:15:18 | Araq | well there is overwriting |
10:15:20 | reactormonk | :-/ |
10:15:38 | Araq | but the overloading resolution rules are deliberately picky |
10:16:08 | Araq | we'll improve them, but for now, I'll revert your system.nim changes I think |
10:16:33 | Araq | I don't want to touch that for 0.9.2 again |
10:18:23 | reactormonk | :-( |
10:20:01 | gour | cool...we use Textile in our (php) cms and BB can understand it in wiki :-) |
10:20:20 | Araq | ugh you use a php cms ... |
10:21:15 | gour | yeah, texpattern...all the python one i've tried really suck in comparison |
10:21:58 | gour | and i do not have time to roll my own..trying to be pragmatic...there are more important things in life to do than fiddling with CMS |
10:22:15 | Araq | reactormonk: why does proc `$`(x: ref object) = result = $x[] not work? |
10:22:23 | reactormonk | Araq, complains about types |
10:22:58 | * | Anaphaxeton joined #nimrod |
10:26:12 | reactormonk | Araq, invalid type basically |
10:30:49 | gour | http://www.reddit.com/r/programming/comments/194apa/1993meertens_the_design_of_elegant_languages/ - something for filwit, maybe |
10:31:39 | Anaphaxeton | good morning |
10:31:54 | Anaphaxeton | dont you guys ever sleep? |
10:31:54 | gour | morning Anaphaxeton |
10:32:05 | * | gour sleeps at night :-) |
10:32:19 | Anaphaxeton | everyone is European in here? |
10:32:52 | reactormonk | Araq, http://sprunge.us/TPbf would you expect callback to be the same or different each time? |
10:33:50 | reactormonk | Araq, anyway, the generated code: http://sprunge.us/FVNi |
10:34:49 | reactormonk | problem: there isn't a new instance of the function each time - each of the callback points to the same one |
10:35:02 | reactormonk | not sure if intended |
10:46:02 | Araq | reactormonk: I'm not sure but I guess we can't map Nimrod's closures to JS's then |
10:46:16 | Araq | fixing it may be a bit of work :P |
10:46:37 | reactormonk | :-( |
10:47:47 | Araq | but why doesn't JS support this? |
10:47:59 | Araq | the produced code looks sane to me |
10:49:16 | reactormonk | I don't know |
10:49:48 | reactormonk | I think var X3Aanonymous_26186 = function () might work |
10:50:52 | reactormonk | nope |
10:54:23 | reactormonk | Araq, nah, it's a scope fail. |
10:54:33 | reactormonk | Araq, http://sprunge.us/hQMY |
10:54:43 | reactormonk | forgot two rather important lines |
10:57:47 | reactormonk | item_26185 is declared outside the loop, therefore changed on each iteration and the callbacks see the last one |
11:08:56 | reactormonk | doesn't help either: http://sprunge.us/LgDi |
11:42:25 | Araq | btw we need a better string literal |
11:42:47 | Araq | """ ...""" is not good enough as it can't contain """ |
11:43:00 | Araq | indentation based would be much better: |
11:43:28 | Araq | const x = `` |
11:43:39 | Araq | look, no need for a closing quote whatsoever |
11:43:45 | Araq | instead indentation is used |
11:46:41 | Araq | I see ... the idea is quite controversial here |
12:01:54 | shevy | hehehe |
12:06:47 | Araq | shevy: any feedback? |
12:08:33 | shevy | Araq on the """ ... """ or indentation? |
12:08:46 | shevy | I dont know if I can give quality feedback, I am a nimrod noob after all |
12:09:01 | shevy | my main concern is not so much the feature, but the documentation still ;P |
12:09:18 | shevy | ruby still is not fully documented in its stdlib :( |
12:09:46 | shevy | const x = `` |
12:09:54 | shevy | the part following that assigned to x? |
12:09:59 | shevy | (I wonder about the two `) |
12:10:16 | Araq | well the two `` would introduce a new verbatim string literal |
12:10:36 | Araq | the compiler would use indentation to figure out when the string literal ends |
12:10:36 | * | FreeArtMan joined #nimrod |
12:11:34 | shevy | hmm |
12:13:06 | Araq | but oh well ... most tools that lex nimrod cannot handle that |
12:16:03 | * | q66 joined #nimrod |
12:18:21 | * | FreeArtMan quit (Quit: rm -rf /) |
12:26:37 | NimBot | Araq/Nimrod f059a36 Araq [+0 ±1 -0]: don't eval wrong code |
12:29:40 | dom96 | gour: why not use github? |
12:31:03 | * | dom96 wonders what gradha is up to |
13:18:32 | gour | dom96 github's tracker is, imho, not very functional. besides that on github it's not possible to redirect page from another domain as homepage...moreover, BB supports more markups than just markdown |
13:19:02 | dom96 | You mean issue tracker? what's so unfunctional about it? |
13:19:13 | dom96 | also github supports many things, not just markdown |
13:19:38 | dom96 | not sure what you mean about redirection, you can point your domain at your github pages. |
13:26:56 | gour | dom96: i wasn't aware that github supports more than markdown, issue tracker is, imho, very basic and by redirection i mean this: https://confluence.atlassian.com/display/BITBUCKET/Publishing+a+Website+on+Bitbucket |
13:27:33 | dom96 | http://pages.github.com/ |
13:27:49 | gour | iow, github seems to be more suitable for hosting just code than projects, moreover, there are no downloads at github which clearly sucks...BB also allows to have free private repos |
13:28:04 | gour | i just don't like ads on SF, so leaning towards BB |
13:28:13 | dom96 | what does BB's issue tracker have that github's doesn't? |
13:42:21 | gour | it could be that it is improved...still, no free private repos & downloads remains as significant issues...SF also hosts free discussions/mailing-lists |
13:56:39 | Amrykid | reactormonk, was the issue resolved? |
13:59:42 | Amrykid | gour, if it means anything, 'downloads' were recently removed. |
14:00:47 | gour | Amrykid: right...and that's bad omen ;) |
14:01:21 | Araq | it's much more concerning it takes them *years* to fix the Nimrod bug |
14:02:15 | gour | Araq: syntax high.? |
14:02:17 | Araq | their website still claims the Nimrod compiler mostly consists of C ... >:[ |
14:02:25 | gour | ahh, right |
14:03:08 | gour | another good reason to stay away...though not sure what is the situation on BB/SF in regard |
14:36:37 | * | gour has import github repo to BB and submitted ticket to support to recognize Nimrod language 'cause it's not on the list |
14:52:26 | * | fowl quit (Ping timeout: 256 seconds) |
15:49:12 | nolan2 | Where do you put the cdecl pragma on an enum? Tried before the "enum", immediately after, after the values... |
15:55:55 | dom96 | I'm not sure the cdecl pragma is allowed for enums. |
15:56:15 | dom96 | As it's a calling convention |
15:58:01 | nolan2 | Is there a way to mark an entire file for export to C? I'm using Nimrod to write a C library, or rather, a library I might one day use in Nimrod but will start by uing in C. |
16:02:59 | nolan2 | Ah yeah, cdecl isn't allowed on enums. Thanks. |
16:04:58 | dom96 | perhaps {.push exportc.} would work |
16:11:07 | nolan2 | Hmm, no. I get numbers appended to the type names with the push pragma. |
16:11:19 | nolan2 | Would be nice if it did, though... |
16:13:02 | dom96 | huh, weird. The manual says "If the argument is missing, the C name is the Nimrod identifier exactly as spelled" |
16:13:38 | nolan2 | Right, if I have exportc on the declaration, that works. I just can't push exportc. |
16:14:02 | nolan2 | Which would be nice if I could. I'll ask later if I should file a bug on that. |
16:14:28 | dom96 | Yeah, i'm sure Araq will let you know when he shows up. |
16:14:57 | * | FreeArtMan joined #nimrod |
16:15:43 | nolan2 | Trying to push {.pure.} fails, so there clearly seems to be some pragma whitelisting going on...or I'm misreading. |
16:18:40 | * | gradha joined #nimrod |
16:21:44 | * | Trix[a]r_za is now known as Trixar_za |
16:33:40 | dom96 | gradha: still no luck with the mac os x builder? :\ |
16:34:52 | gradha | I guess |
16:36:10 | gradha | but I think the build process may not detect removed binaries, I deleted all files from the git directory and checked them out again, and the logs displayed "kock exited with 1" when I was expecting it to rebuild koch |
16:36:35 | sdw | :) |
16:36:56 | gradha | heh, I have the same problem as Araq had with length |
16:37:28 | dom96 | huh, I can see it rebuilding koch :P |
16:37:45 | gradha | I can't see it doing anything at all |
16:38:02 | gradha | maybe it's locked somewhere? how do you know it's building koch? |
16:38:07 | gradha | I only see it pinging |
16:38:30 | dom96 | http://build.nimrod-code.org/commits/macosx-x86_64/181e24296271/logs.txt |
16:38:43 | dom96 | It finished the build, but it resulted in a failure |
16:39:12 | gradha | oh, nice, I wondered were all that was going, as I see no output here |
16:39:21 | dom96 | I can see ""nimrod c koch.nim" started." |
16:39:51 | dom96 | it should log this stuff to a local file too IIRC |
16:40:05 | gradha | it's not doing that, the log file is zero length |
16:40:22 | gradha | this is the last thing I see on the screen log http://pastebin.com/fKKr5Acf |
16:40:30 | reactormonk | Amrykid, nope |
16:40:54 | reactormonk | Araq, any idea how to hack that? |
16:41:31 | dom96 | gradha: perhaps I disabled that |
16:41:46 | dom96 | But it's fine, you can read the logs online anyway |
16:43:05 | gradha | at least koch is not hogging the cpu now, so I'll let it live and see how it survives |
16:43:55 | dom96 | well yeah, koch exited this time at least. |
16:44:37 | dom96 | huh, the reason it fails is: config/nimrod.cfg(59, 1) Error: invalid indentation |
16:44:53 | dom96 | have you changed its config? |
16:45:27 | gradha | I don't know how to change it |
16:45:47 | gradha | the nimbuild checkout doesn't have modifications, neither has the nimrod one |
16:46:50 | dom96 | can you bootstrap nimrod yourself? |
16:47:03 | gradha | tell me what to do, please, no brain on this side of IRC |
16:47:31 | dom96 | try running ./koch boot in /Users/gradha/project/nimrod/buildbot/Nimrod |
16:48:11 | gradha | yep, invalid indentation |
16:48:27 | gradha | that line points to --parallel_build: "0" # 0 to auto-detect number of processors |
16:48:55 | gradha | looks like not using clang for nimrod really messes nimrod programs |
16:49:18 | dom96 | yeah, seems like a corruption |
16:54:06 | sdw | I have a question about term rewriting macros: http://nimrod-code.org/trmacros.html |
16:54:29 | sdw | the template name in these is just for label purposes, right? or is there another meaning behind them? |
16:55:10 | sdw | e.g. the first example could easily have been called template optWhatever{...}, so long as the pattern inside {...} is matched |
16:55:50 | dom96 | yes |
16:57:45 | reactormonk | sdw, take a look at unittest |
16:59:33 | gradha | gour: reading the posts you linked I found the reason I deeply disliked gtk https://mail.gnome.org/archives/gtk-list/2013-February/msg00026.html |
16:59:49 | gradha | "the nature of GTK is such that you cannot "just" include the binaries in the bundle and expect stuff to work" |
17:00:09 | gradha | I remember this being a pain when I wanted to build a binary for linux distribution |
17:00:42 | gradha | in general linux projects don't think about binary distribution because, hey, of course anybody can install zillions of compilers and obscure tools to compile hello world |
17:00:52 | gradha | even grandma! |
17:01:28 | gradha | haha, that quote needs an Aragorn meme |
17:03:10 | * | gradha quit (Quit: oversaturated from youtube videos) |
17:06:16 | * | gradha joined #nimrod |
17:07:01 | gradha | there you go http://memegenerator.net/instance/35325574 |
17:10:20 | dom96 | lol |
17:29:11 | * | gradha quit (Quit: oversaturated from youtube videos) |
17:30:31 | gour | good one |
17:32:27 | * | gradha joined #nimrod |
17:34:01 | gradha | gour: other than gtk link problem/design, it seems from the outside people have lost motivation for gtk3 and key people are not maintaining the project, which leads to stagnation |
17:34:40 | gradha | maybe the problem is such key people are not easily replaced, or hold "secret info" without which the project is crippled? |
17:35:13 | gradha | I've seen this situation for a few projects and the solution is always somebody mans up and takes the lead, no other way |
17:43:11 | gradha | an overheating laptop is no fun, I should get a newer one, this time with ice |
17:50:53 | * | FreeArtMan quit (Quit: rm -rf /) |
17:56:47 | gour | gradha: well, what to do or what to use (with nimrod)? |
17:57:06 | gour | claro looks ok and we can assume that gtk will live on linux |
17:57:16 | gour | wx also depends on it |
17:57:35 | gour | the other alternative is qt which is huge & bloated |
17:57:42 | dom96 | best we can do is write our own toolkit |
17:58:01 | gradha | my opinion has always been to separate UI from logic, so I would use gtk/qt for linux, native windows and native mac plus nimrod backend |
17:58:12 | gour | with the current number of active users it would take almost forever :-) |
17:58:43 | gour | gradha: lot of extra work, plus there are only gtk bindings available atm |
17:58:56 | Amrykid | implement some sort of mvvm-like solution for that. |
17:59:05 | gour | gradha: or do you mean using nimrod logic with e.g. qt in C++? |
17:59:14 | Amrykid | that would allow you to swap the front-end depending on the platoform. |
17:59:19 | dom96 | I will simply hope that gtk gets its game together. |
17:59:21 | gradha | don't know why you think it's extra work, the native solutions are much faster than coding in crossplatform toolkits (on average) |
17:59:34 | dom96 | There does still seems to be work going on to have gtk working on windows |
18:00:15 | dom96 | gradha: For Aporia I would need to code my own cross-platform source view widget, which would be quite a lot of work. |
18:00:20 | gour | gradha: e,g, using wx means very little extra work to compile same codebase on multi-platforms |
18:01:14 | gradha | dom96: every platform has a good native editor available |
18:01:17 | gour | not to speak about the necessity to learn/master several toolkits |
18:01:33 | dom96 | gradha: What does Windows have? |
18:01:42 | gradha | gour: wx also means crap quality, native toolkits have rads which allow you to not have to learn/master anything |
18:01:51 | dom96 | from my .net days everything is crap. |
18:01:56 | gradha | dom96: don't know, haven't used windows for ages, but even MFC had a rich text editor |
18:02:06 | gradha | can't believe there is nothing else at the moment |
18:02:08 | dom96 | rich text editor is not powerful enough |
18:02:28 | gour | gradha: why crap with wx? even qt can produce decent results |
18:03:08 | gour | gradha: how would i e.g. combine nimrod logic with native windows gui? |
18:03:10 | gradha | gour: the last time I used wx it looked average on windows, horrible on macs, circa five years ago, it was 2.7 I believe |
18:03:27 | gradha | gour: just like the crossplatform examples for ios/android |
18:03:36 | gradha | call it like a C library |
18:03:39 | Amrykid | why not build a easy shell for VS? thats your nimrod ide on windows. As far as designing native windows gui, don't. |
18:03:52 | gour | gradha: cannot understand why 'cause it uses native toolkits on each platform |
18:04:18 | gradha | dom96: the "rich editor is not powerful enough" is somehow misleading for your situation: text editing is your core aim of the program, you are going to find it hard to have a 3rd party do it exactly right for you |
18:05:15 | gradha | gour: being native doesn't mean pretty |
18:05:47 | gradha | also, people using crossplatform toolkits seem to never use more than one single platform, if they used two they would see their UI doesn't work well with the other |
18:06:09 | gradha | each OS has particular stuff, you would end up with three different wx layouts, one for each platform, where's the advantage then? use the native one |
18:06:28 | gradha | just to name a single point of pain, think of drag and drop of files on your app icon |
18:06:39 | gour | gradha: do not understand...if native toolkits does not look pretty, that's the problem of the platform's toolkit and not wx |
18:06:41 | gradha | every platform does that in a different incompatible way, there's no way to standardize tha |
18:06:59 | gour | except if you think about UI... |
18:07:25 | gradha | gour: don't take my word for it, try to use any mac wx program, it looks crap |
18:08:13 | gradha | isn't audacity using wxwidgets? |
18:08:15 | gour | gradha: otoh, there are 'pro' multi-platform apps done even in gtk, eg. ardour and people use it despite of not being 'native' |
18:08:21 | gradha | there you have a UI which looks horrible on any platform |
18:08:24 | gour | yes, audacity is wx |
18:08:42 | gradha | what is ardour? for a pro software never heard of it |
18:08:47 | gour | if you consider it looks horrible it's not due to wx, but eventually due to design |
18:09:07 | gour | http://ardour.org/ |
18:09:15 | gradha | yay, another audacity |
18:09:24 | gradha | well, it looks different |
18:09:26 | gour | much more |
18:09:40 | gradha | compare audacity/ardour screenshots with something like garageband, which sets the standard on macs |
18:09:51 | gradha | garageband looks so pretty it makes you want to use it |
18:10:20 | gour | gradha: otoh, you should consider that wx's cocoa port is not finished atm, so using old one does not look good today |
18:10:47 | gradha | yes, lets use wx because it's crossplatform, oh wait, some platforms are crap and never finished, oh well |
18:11:08 | gour | gradha: i know pro people using ardour, so it means that it's not everything in just look, but in features/functionality as well |
18:11:09 | gradha | qt is probably the most equal on all platforms, maybe because it has strong financial backing |
18:11:20 | gradha | but you are mixing stuff there |
18:11:27 | gradha | people use the program because it is useful |
18:11:31 | gradha | we are discussing ui looks crap |
18:11:46 | gour | you just complain about the look :-) |
18:11:56 | gradha | aren't we talking about GUIs then? |
18:12:45 | gradha | I can't see how xxx framework implies good software, I'm saying it looks bad, it can actually be wonderful to program in |
18:13:37 | gradha | and that's my reason for not using crossplatform stuff, besides having been burned by both gtk/qt in the past for being shit due to dependencies or platforms being different enough to want to stab myself in the eyes |
18:14:24 | gradha | haven't done GUI stuff in the last five years, so it may well have changed and everything is roses and joy now |
18:16:59 | * | Trixar_za is now known as Trix[a]r_za |
18:17:22 | Araq | gradha: lol |
18:17:52 | Araq | programming is getting worse all the time IMO |
18:18:39 | nolan2 | Araq: Should I be able to {.push exportc.}? The compiler lets me but the C exports still have random numbers appended. |
18:18:45 | * | xcombelle joined #nimrod |
18:19:10 | gradha | nolan2: could it be because you are not using * to mark stuff as exported? |
18:19:25 | nolan2 | No. |
18:23:25 | gour | gradha: my point is that i'd rather use some multi-platform toolkit developing on linux and having app avaialble for windows/mac than coding 3 apps separately...i'm not into business apps, but open-source and multi-platform toolkit helps despite not providing best/excellent look |
18:24:41 | Araq | nolan2: do you use the latest github version? |
18:25:02 | Araq | pervasive "push" is a recent feature |
18:25:15 | gour | so, if we assume that gtk will still live on linux, then claro could be nice solution for nimrod |
18:25:21 | gradha | gour: and my point is despite using a crossplatform gui you end up having separate behaviours for file dialogs, drag and drop behaviour, system tray icons, daemos, etc, so I think you are overestimating the usefulness of such toolkits, unless your aim is really restricted and your program doesn't try to integrate |
18:25:34 | Araq | gour: gtk will live on linux for years to come |
18:25:47 | nolan2 | As of yesterday. |
18:25:51 | Araq | and it will do the same for windows |
18:25:55 | gradha | ncurses, the definitive UI, I vote for that, decade of terminal emulation can't go wrong |
18:26:02 | Araq | as there are quite some applications relying on it |
18:26:04 | gour | gradha: it will be good-enough for my use-case |
18:26:39 | gour | gradha: ncurses & windows? |
18:27:01 | gradha | gour: I was joking |
18:27:09 | * | gour was not |
18:27:26 | gour | :-) |
18:28:33 | gradha | there's another reason I prefer to separate UI, and that is you end up with software which is more easily scriptable, easier to turn to commandline or daemons/servers/web |
18:29:05 | gradha | many times I've found something useful, wanted to use it like a daemon or commandline and yuck, tons of intermingled UI with logic, easier to rewrite from scratch than figure it out |
18:29:43 | gradha | granted this is not a toolkit problem but developers writing software in particular ways |
18:29:46 | gour | let's be concrete: what would you use for writing gui app in nimrod? |
18:29:59 | gradha | I would never use nimrod for gui |
18:30:11 | Araq | nolan2: bug report please |
18:30:14 | gour | heh...that where we differ ;) |
18:30:31 | nolan2 | All righty, will file later this afternoon. |
18:30:53 | gour | gradha: i want to take advantage of nimrod's language features, enjoy coding and writing gui app |
18:31:24 | gradha | I think the problem is you are on linux, and think crossplatform toolkits will ease you the pain of windows/mac |
18:31:53 | nolan2 | Also, how does pushing work when you've pushed something that doesn't apply to a certain expression type? Like, if I were to push dynlib and then declare a struct or var. |
18:32:23 | Araq | nolan2: it would produce an error |
18:32:27 | nolan2 | Trying to figure out the best way to build a C library in Nimrod without lots of repetition. |
18:32:32 | gradha | nolan2: I'm not finding the problems you have, whatever I exportc and mark with * stays the same in the nimcache C version |
18:32:33 | Araq | but it's easy to change that to a nop instead |
18:33:28 | gradha | hmm... not even using *, just {.cdecl, exportc.} |
18:33:37 | nolan2 | gradha: You're using {.push exportc.} and not putting {.exportc.} on everything? |
18:33:52 | gradha | ah, no, sorry, I'm using it on every line, maybe that's the reason |
18:34:00 | nolan2 | Yeah, it worked fine on every line. |
18:34:21 | nolan2 | But I'd rather not put it on every line. At the moment this library is being used from C/JNA. |
18:34:43 | * | Anaphaxeton quit (Quit: Αποχώρησε) |
18:34:55 | nolan2 | Or at least, that's the idea. |
18:35:38 | gradha | hm, [.push exportc.} gives me the error "invalid pragma: exportc" ? |
18:37:31 | nolan2 | Not here. |
18:38:13 | * | shevy left #nimrod ("I'll be back ... maybe") |
18:38:39 | Araq | the pragmas you push only apply to procs btw |
18:38:59 | Araq | (for now) |
18:39:14 | nolan2 | What is the correct procedure for updating a github build? Do I have to unzip csources.zip again? And how does build.sh factor in? |
18:39:47 | nolan2 | Ah, so maybe that is the issue. I'm looking at enums/objects. |
18:40:40 | gour | gradha: i do not have time to code for windows and neither have mac, but by using multi-platform toolkit, i can provide windows installer for my app and let other devs, if they want improve it and/or tailor for mac...i'll be happy with linux version |
18:42:01 | Araq | nolan2: you only have to unzip csources and build.sh if we broke bootstrapping |
18:42:20 | Araq | otherwise you can git pull && koch boot [-d:release] |
18:42:47 | Araq | we try hard to not break bootstrapping but it always happens ;-) |
18:42:49 | gradha | gour: good luck with that |
18:43:00 | Araq | 0.9.0 can't compile the current 0.9.1 for instance |
18:46:04 | nolan2 | OK, looks like functions are exported correctly. So the problem isn't that {.push exportc.} doesn't work, but rather that it doesn't apply to things other than procs. |
18:46:28 | gour | gradha: thanks ;) |
18:46:50 | Araq | and thinking about it ... it makes some sense |
18:46:51 | nolan2 | So sounds like it's a known issue. |
18:47:15 | Araq | most of the time you want it for procs |
18:47:43 | Araq | and you can't differentiate easily otherwise |
18:48:00 | Araq | for instance, 'pure' for procs means something different than for types |
18:48:31 | nolan2 | Maybe I'm just using Nimrod in a way it isn't intended. I'd like to use it to build C libraries for native Android development, until we get a mobile platform that can run native code, at which point I'd just use pure Nimrod. |
18:48:32 | Araq | hmm maybe we should document it and leave it like it is? |
18:48:55 | nolan2 | So for that use case, it'd make sense to say "everything in this file should be as C-friendly as possible." |
18:49:09 | nolan2 | Rather than "this should be C-friendly, and this, and this too..." |
18:49:22 | Araq | dunno |
18:49:37 | Araq | the exposed interface should be kept small anyway :P |
18:49:52 | gradha | android implies JNI, which is a pain in itself, have you looked at javacpp? |
18:50:04 | nolan2 | Sure, but having to repeat everything for the exposed interface certainly isn't elegant. |
18:50:14 | gradha | I was planning to use http://code.google.com/p/javacpp/ for android bindings, but got distracted |
18:50:59 | nolan2 | It looks like latest JNA supports Android, not sure how well. I was going to port part of my project to native code, then try using JNA. |
18:51:50 | nolan2 | Make most of the heavy lifting happen in native code, then bridge it to the UI via Phonegap. Then, theoretically, an IOS port would just be a matter of rewriting the plugin and ensuring all of my native libs exist on IOS. |
18:51:51 | gradha | the problem I see is that JNA will never figure out memory handling between the java gc and nimrods |
18:52:04 | Araq | nolan2: I think it's better style to introduce a new pragma like {.pragma: my, cdecl, exportc: "prefix_$1".} and annotate every exported proc with {.my.} instead |
18:52:09 | gradha | say, who takes ownership of an object |
18:52:35 | Araq | but that's just me, "push" works too |
18:53:45 | gradha | nice JNA features, "VM crash protection (optional)" |
18:54:02 | * | nolan2 shrugs, dunno. It's all experimental at this point, I might ultimately scrap it. |
18:55:06 | * | FreeArtMan joined #nimrod |
19:02:26 | gradha | gour: btw, how are you going to use gtk for windows 8 tiles? |
19:12:27 | Amrykid | gradha, you can't. |
19:21:03 | reactormonk | Araq, hmm, I expected it to be different, but C and JS produce 4x4 here: http://sprunge.us/CZNd |
19:22:45 | nolan2 | Should I file an issue about push not working for non-procs? I worry about adding corner cases like that--seems like I should be able to push anywhere I can use a pragma to begin with. I also like the idea of unsupported push pragmas just being no-op on unsupported expressions. |
19:23:50 | nolan2 | Or is that just how it will work? I don't want to step on toes. |
19:26:05 | reactormonk | Araq, looks like I have to do the nimrod equivalent of http://tobyho.com/2011/11/02/callbacks-in-loops/ |
19:26:15 | reactormonk | procs in procs \o/ |
19:27:00 | Araq | reactormonk: no, you need to do 'var i = i' though to capture it by value |
19:29:08 | Araq | nolan2: if you report it, I'll make it a feature request |
19:29:17 | nolan2 | OK. |
19:29:51 | Araq | making it a nop sounds error-prone in the long run though |
19:30:00 | reactormonk | Araq, doesn't work |
19:30:11 | Araq | for JS? |
19:30:11 | reactormonk | wait, it works in c |
19:30:15 | reactormonk | Yep. |
19:30:44 | Araq | well we should really activate Nimrod's lambda-lifting for the JS backend ... |
19:31:27 | nolan2 | I guess I'm fine with dropping the nop bit. Should I be able to export enums do dynamic libraries? That's the main issue I'm running up against. |
19:31:36 | nolan2 | Even if not now, eventually? |
19:31:40 | reactormonk | Araq, submitted the issue |
19:32:09 | Araq | reactormonk: you should implement it |
19:32:14 | nolan2 | Or are those only needed for calling code? |
19:32:38 | Araq | nolan2: the codegen cannot transform a Nimrod enum into a C enum |
19:33:02 | gour | gradha: no idea...i haven't used any redmond-based OS after xp...otoh, claro gui does not use gtk on windows, afaik |
19:33:03 | Araq | make a feature request for that |
19:33:11 | nolan2 | OK. |
19:33:49 | nolan2 | So exportc on more than procs, and transforming Nimrod enums to C. |
19:34:20 | * | nolan2 guesses the former might imply the latter, but will file them both to be thorough. |
19:34:20 | Araq | but then I don't know how to do that |
19:34:48 | Araq | Nimrod's enums use the smallest amount of bytes |
19:35:03 | Araq | C's enum is 'int' |
19:36:02 | Araq | we can make it produce a typedef + #defines |
19:36:09 | gradha | gour: if you are not even thinking about the most common platform for desktop software on earth you shouldn't even worry about crossplatform issues |
19:43:54 | sdw | How does one access the command line arguments used to invoke a nimrod program? |
19:44:11 | Araq | sdw: learn to use the index |
19:44:41 | gradha | sdw: call ParamCount() and paramStr(), from os module I believe |
19:45:08 | gradha | or use the optparse module for a convenient iterator |
19:45:39 | gradha | sorry, parseopt |
19:47:35 | * | exhu joined #nimrod |
19:51:32 | exhu | dom96, http://www.scintilla.org/index.html -- in case someone want to implement a new editor for aporia on new gui toolkit, also FLTK has syntax-highlighting text editor :) |
19:52:29 | * | Anaphaxeton joined #nimrod |
19:54:33 | Araq | exhu: scintilla used to run like crap on my linux |
19:54:42 | Araq | I even tried to fix the bug |
19:55:16 | Araq | I avoid it now ;-) |
19:55:58 | exhu | i used geany text editor which is based around scintilla, never had a problem though. |
19:56:52 | exhu | i prefere jedit, although it cannot highlight nimrod syntax properly, there's no feature to describe "*" asterisk as a "public" modifier to a name. |
19:57:26 | Araq | *shrug* so what? highlight it as an operator instead |
19:58:54 | exhu | Araq, yes, it does it, but then procs are not highlighted properly. i don't blame nimrod's syntax, i say it's hard to abandon familiar tool (jedit). |
19:59:37 | Araq | I only care about comments, keywords and string literals |
19:59:49 | Araq | these should have a different color etc. |
20:00:08 | Araq | more syntax highlighting just hurts IME |
20:00:27 | Araq | like "this is a declaration context" etc. ... I don't need that |
20:02:39 | exhu | without IDE i found it useful limiting source files to 80 column length -- i can split editor and see two files on my 16:9 display side by side. |
20:03:02 | Araq | hah, I do exactly that too :-) |
20:03:44 | exhu | after i discovered that, i manually fixed all files in my project to not contain lines more than 80-81 characters. |
20:04:12 | gradha | I tend to use the other half for documentation/webbrowsing, I'm a poor person without secondary monitor |
20:04:47 | gradha | annoys me to death people using 300 colum wide settings |
20:04:59 | exhu | i have one fullhd monitor, i wanted 16:10 but there were none of good picture quality available except 16:9 one :( Feel need for vertical space. |
20:05:53 | exhu | but people at the office decided to use 160 or more line length just because it fits their visual studio layout, sick. |
20:06:18 | gradha | uh oh, haven't been using ipad as secondary monitor because mountain lion has a bug with secondary monitors on sleep, but then I bought the newer lion OS <facepalm> |
20:06:21 | exhu | i mean my work in a software development team. |
20:06:40 | gradha | yeah, I'm working now with guys who have dual extra large monitors, all wide |
20:06:44 | Araq | the compiler can warn about lines longer than 80 chars btw :-) |
20:06:51 | gradha | awesome |
20:06:59 | Araq | at some point I even wanted to forbid them :P |
20:07:02 | gradha | can you make it a mandatory error? |
20:07:05 | gradha | lol |
20:07:07 | Araq | nah |
20:07:16 | Araq | lots of wrappers have longer lines anyway |
20:07:28 | Araq | and I never fixed it because I never look at them |
20:07:33 | exhu | it's also easy to do merge/diff comparison when you have two versions side by side fit the editor panes. |
20:07:51 | gour | gradha: the kind of 'reference' app (Maitreya) which i mentioned some time ago is written in wx (C++) and works nicely on multi-platforms. if i'd be inclined to work in C++ i would probably use same, but when using nimrod, it does not make much difference. gtk bindings are available, but claro offers some abstraction and it might be ported one day to nimrod which would improve both gui experience in nimrod |
20:07:53 | gour | and language itself |
20:08:00 | * | xcombelle quit (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the world of IRC.) |
20:08:42 | gradha | gour: I think you should stop pretending to write crossplatform software since you don't really care, just use what is easier and call it a day. If the software is useful somebody will come later and make it work on their platform. |
20:09:19 | Araq | or use an emulator on other OSes ;-) |
20:09:37 | gradha | indeed, embed qubeos and claim security too |
20:09:49 | gradha | http://qubes-os.org/trac |
20:10:03 | gour | gradha: i do not pretend writing crossplatform app, but i just want to use such toolkit ;) |
20:10:34 | gradha | then go for it, unless you like argueing on IRC better |
20:10:38 | gour | but it does not make difference in choosing the right one...not many options |
20:12:09 | gour | do i argue? your argument is that's better to use native toolkit for each platform, mine is to use some crossplatform one...that's all |
20:12:42 | exhu | and back to GUI business, I found toolkits drawing controls themselves better for crossplatform apps, like FOX, FLTK, java swing, fpgui... just because the apps look 98% the same on all platforms. Certainly the apps look inferior on mac with Win95 themed buttons, but they work at least -) |
20:12:49 | gradha | argueing, talking, whatever, it takes time from actual coding |
20:13:21 | gour | i see...excuse me...i'll refrain doing it again, hopefully |
20:13:30 | gradha | exhu: aiming for mac look&feel is such a hit and miss nowadays, not even Apple does it consistently |
20:14:08 | gradha | gour: by no means I'm telling you to stop |
20:14:22 | gour | exhu: none of which are available for nimrod |
20:14:58 | exhu | gour, i will look at swig xml output. i wonder if it's possible to generate sane bindings for c++ stuff. |
20:15:40 | gour | exhu: swig can bind c++ stuff, but i do not know about its xml output |
20:15:47 | gradha | gour: btw, just run this matreya and it's plain ugly, I woudn't use it based on how it looks, even the icons don't have antialiasing! What are we, in 1980? |
20:15:52 | exhu | and i think having several toolkits/bindings for nimrod is a good thing. |
20:16:15 | gradha | the extra font looks awesome, though |
20:16:51 | gour | gradha: it's niche software...not many options and it does what it's supposed to - calculate properly. then it's the job of end-user to make use of it...it's not gaming app |
20:17:11 | exhu | gradha, does windows 7 or maybe 8 support svg or png icons at last? |
20:17:13 | gour | iow, it's meant for pros |
20:17:49 | gradha | exhu: I expect not, even macosx dropped the ball and went for doubling pixel resolution. Man, how crap. |
20:17:53 | gour | gradha: and i'm also not sure how bright is the future of open-source development for windows/mac platforms in general |
20:18:25 | gradha | gour: example of crap gui layout http://dl.dropbox.com/u/145894/t/Captura%20de%20pantalla%202013-02-24%20a%20la%28s%29%2021.17.06.png |
20:18:34 | gradha | note how text doesn't even fit the window |
20:18:54 | * | gour nods |
20:19:01 | gour | but it's not toolkit's fault |
20:19:09 | gradha | I would say it is |
20:19:22 | gradha | unless you accept GUI toolkits which you have to hand hold in their core job |
20:19:23 | gour | one can write crappy software even in nimrod |
20:19:51 | gour | gradha: i know many devs who do not want to use layout managers, but coding ui by hand |
20:20:02 | gradha | yeah, precisely, they make the crappiest UIs |
20:20:16 | exhu | gradha, that's why i am against native widgets for crossplatform toolkits, even java has such glitches if you turn on "native theme". |
20:21:29 | gradha | btw, note it took five iterations of iOS versions to get internationalized layout working, but at least they are trying, other toolkits just say "meh, too difficult" |
20:22:47 | gradha | I remember the trac developers saying "we don't care about i18n now, we will add it in a future version". Famous last words before turning insane. |
20:23:36 | * | gour stopped following it around 0.10 |
20:26:55 | * | exhu quit (Quit: Ex-Chat) |
20:50:43 | * | Anaphaxeton quit (Remote host closed the connection) |
20:51:24 | * | Anaphaxeton joined #nimrod |
20:52:56 | reactormonk | Araq, lambda lifting? |
20:57:05 | * | nolan2 quit (Ping timeout: 252 seconds) |
20:59:43 | sdw | http://nimrod-code.org/intern.html#lambda-lifting_879289628 ;P |
21:09:11 | * | FreeArtMan quit (Ping timeout: 260 seconds) |
21:09:18 | Araq | wow I didn't remember I documented lambda lifting :-) |
21:12:17 | Araq | and the docs are even up to date :P |
21:25:13 | dom96 | Araq: I found a pretty nice cmd.exe replacement for Windows: ConEmu. |
21:26:26 | Araq | my connection is too bad to browse |
21:51:08 | Araq | ping sdw |
22:34:48 | dom96 | sdw: did you ever manage to run Aporia? |
22:44:09 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
22:47:07 | * | nolan2 joined #nimrod |
23:00:49 | * | gour quit (Quit: WeeChat 0.4.0) |
23:01:40 | * | Anaphaxeton quit (Quit: Αποχώρησε) |
23:03:43 | * | Anaphaxeton joined #nimrod |
23:20:22 | * | fowl joined #nimrod |
23:42:56 | ccssnet | aporia looks fun :) |
23:42:59 | ccssnet | ill try that soon |
23:55:28 | * | Anaphaxeton quit (Quit: Αποχώρησε) |