00:09:06 | * | Trixar_za is now known as Trix[a]r_za |
00:12:40 | * | q66 quit (Quit: Quit) |
01:19:41 | * | ryderblue quit (Remote host closed the connection) |
05:31:49 | * | User472 joined #nimrod |
05:32:47 | * | User472 quit (Client Quit) |
05:50:01 | * | Araq quit (Ping timeout: 245 seconds) |
05:50:23 | * | Amrykid quit (Ping timeout: 260 seconds) |
05:51:41 | * | Amrykid joined #nimrod |
05:53:11 | * | Araq_bnc joined #nimrod |
07:32:22 | * | ryderblue joined #nimrod |
07:56:02 | * | ryderblue_ joined #nimrod |
07:58:35 | * | ryderblue quit (Ping timeout: 252 seconds) |
07:58:35 | * | ryderblue_ is now known as ryderblue |
08:02:23 | * | Araq joined #nimrod |
08:17:57 | * | ryderblue quit (Remote host closed the connection) |
08:21:38 | * | Araq quit (Quit: ChatZilla 0.9.89 [Firefox 16.0.2/20121024073032]) |
10:20:31 | * | XAMPP joined #nimrod |
11:55:13 | * | Araq joined #nimrod |
12:19:43 | * | Trix[a]r_za is now known as Trixar_za |
13:05:42 | * | Araq quit (Quit: ChatZilla 0.9.89 [Firefox 16.0.2/20121024073032]) |
13:14:59 | * | q66 joined #nimrod |
13:16:48 | * | Araq joined #nimrod |
13:55:38 | * | Araq quit (Quit: ChatZilla 0.9.89 [Firefox 16.0.2/20121024073032]) |
14:11:35 | * | Trixar_za is now known as Trix[a]r_za |
16:11:39 | * | gradha joined #nimrod |
16:18:01 | gradha | Trix[a]r_za: what's up with the changing of nicks on irc? |
16:49:06 | * | Trix[a]r_za is now known as Trixar_za |
16:49:41 | Trixar_za | gradha: It how you tell my ZNC disconnected |
16:50:00 | Trixar_za | Well, when I disconnect from it anyway |
17:09:45 | zahary | gradha: the latest version of nimrod.vim adds support for nimrod idetools --def |
17:09:46 | zahary | https://github.com/zah/nimrod.vim/ |
17:10:40 | gradha | that's a reasurring readme you have there |
17:11:18 | fowl | lol |
17:11:41 | gradha | (puts on helmet) time to test stuff |
17:11:42 | Trixar_za | Most people are lucky if they get any README from me |
17:11:58 | zahary | ah, it's not written by me :) |
17:12:06 | zahary | i'm too lazy to write a better one |
17:12:23 | zahary | https://gist.github.com/4040134 I used that in my vimrc to enable the feature |
17:12:45 | Trixar_za | I have no idea if it works because I haven't actually tried to code in Nimrod and have next to nothing to test it with :P |
17:12:46 | Trixar_za | lol |
17:13:09 | Trixar_za | Sound like the file I made for geany |
17:13:15 | Trixar_za | Sounds* |
17:13:31 | Trixar_za | Which reminds me - I have to make do a keyword |
17:15:38 | zahary | btw, if don't have syntastic already - highly recommended. my plugin integrates with it |
17:16:37 | gradha | I'm actually a poor vim user, I only open it and bang furiously random keys until I somehow get stuff done, will have to research what that is too |
17:17:32 | zahary | syntastic shows you any errors in the code as soon as you save the file. adds error indicators in the code, you can jump to them, etc |
17:17:33 | zahary | https://github.com/scrooloose/syntastic |
17:18:34 | gradha | gosh, "error ballons", just what I needed |
17:18:49 | gradha | I wonder how that looks like in a terminal |
17:21:10 | gradha | heh, that's funny, I actually had a clone of your nimrod.vim repo |
17:38:01 | gradha | man, nuking your vim configuration isn't funny when you have backups, only tedious |
17:40:47 | gradha | wow, this is quite cool, but terribly slow |
17:41:09 | gradha | just jumped to a db_sqlite fast row iterator, takes about 3 seconds |
17:41:46 | gradha | I'm typing manually :call JumpToDef(), what's the M-g thingy? Alt+g? |
17:43:40 | fowl | meta is the windows key i believe |
17:44:16 | gradha | This is what I get |
18:00:09 | * | Araq_bnc is now known as Araq |
18:03:41 | Araq | gradha: why is it so slow? using a debug build of nimrod? |
18:04:33 | gradha | likely |
18:04:53 | gradha | was it koch boot -d:release to make it fast? |
18:07:21 | Araq | yes |
18:08:09 | gradha | now it takes about 0.5 seconds |
18:08:45 | Araq | and btw the "illegal storage access" looks like the better error message |
18:08:56 | Araq | because there is a bug and I prefer crashing then ;-) |
18:09:40 | gradha | you mean https://github.com/Araq/Nimrod/issues/247 ? that was with a bad build |
18:10:01 | Araq | well the code has a bug, so it'd better crash |
18:10:08 | gradha | I'll try again now with the release version... |
18:10:15 | Araq | don't |
18:10:19 | Araq | there is no point |
18:10:37 | Araq | it's wrong and will lead to corruption |
18:10:47 | gradha | fun! |
18:10:55 | Araq | results of the release version are quite meaningless ;-) |
18:13:39 | Araq | sigh ... these cascading errors are so annoying to deal with |
18:14:10 | Araq | this "continue after first error" feature really breaks many invariants ... |
18:26:14 | Trixar_za | Cascading errors? Like Python does? Personally I would just like to know which line is at fault, not the whole history of what called whom and when |
18:27:21 | Araq | no, it's unlike python |
18:27:33 | Araq | and it's essential for IDE support |
18:27:43 | * | ryderblue joined #nimrod |
18:28:35 | Araq | it's not that I *like* the feature, it's a necessary evil, so there is nothing to discuss :P |
18:29:02 | Trixar_za | lol |
18:29:20 | Trixar_za | This is why I make certain features toggle-able |
18:30:19 | Araq | it *is* toggle-able and per default it's turned off :P |
18:30:42 | Trixar_za | Exactly my mentality |
18:31:22 | Trixar_za | I have learned that people like to have the option to be there. They might never use it, but they'd still like it to be there |
18:31:39 | Trixar_za | I also make defaults exactly how I like them |
18:41:37 | * | ryderblue quit (Remote host closed the connection) |
19:00:06 | Araq | so ... I guess I should close #246 ... |
19:00:31 | Araq | and calling Java a "modern OO language" is somewhat offensive ... ;-) |
19:02:27 | gradha | well, most languages nowadays are modern if you compare them to lisp's timeline |
19:04:06 | Trixar_za | That's if you define "Modern" as being "Bloated" |
19:04:55 | Trixar_za | Which ironically is how we pick most things, isn't it? The more it can do (even if we never use said feature), the more desirable it becomes. |
19:05:05 | Trixar_za | Hmmmm |
19:05:12 | * | Trixar_za applies this to dating... |
19:09:14 | gradha | I think most people use modern as a synonym of contemporary |
19:09:30 | gradha | Araq: I believe #246 wants some guarantee about performance |
19:10:18 | gradha | as in: don't have any benchmark, but my gut tells me this is bad |
19:10:57 | Trixar_za | gradha: I think that's a fair assessment |
19:11:28 | Trixar_za | Oh, it has OOP - it must be modern >.< |
19:12:16 | gradha | I remember learning how to program OOP C before knowing what a pointer was |
19:12:23 | Trixar_za | Mind you, I'm still trying to work out this whole cloud thing |
19:12:48 | gradha | also remember badly screwing pointers and memory management once I thought I learnt what a pointer was |
19:14:25 | Araq | well this whole "omg 'ref' doesn't mean what it means in C#/D" is getting tiresome |
19:14:49 | Araq | C# didn't have the feature when I designed this part of the language |
19:15:09 | Araq | or I didn't know about it |
19:15:09 | Araq | D still used 'inout' |
19:15:15 | Araq | and I copied the var/ref terms from modula 3 ... |
19:15:48 | Araq | couldn't come up with better and at same time shorter terms ... |
19:16:08 | Araq | in fact, I did improve over modula 3 as that uses "untraced ref" and "traced ref" |
19:17:24 | gradha | I wouldn't worry about that and would practice getting my skin thicker, people I see are still getting their heads around the fact that "low level languages" like C/C++ can have garbage collection |
19:19:29 | gradha | saying nimrod compiles to C and has garbage collection makes you look like a looney |
19:22:10 | Araq | lol |
19:22:34 | Araq | I must admit the average developer's ignorance is still suprising |
19:26:51 | gradha | I laughed the other day at your comment on C not being low level enough to manage a stack |
19:28:35 | gradha | now that C is considered a "crossplatform assembler" |
19:30:14 | gradha | imagine what will be the crossplatform assembler in 15 years, likely an offspring of javascript running in a browser |
19:30:31 | gradha | if we still have browsers... |
19:34:13 | fowl | probably a dialect of rust that has been mutated from the radioactive clouds that cover the earth |
19:36:19 | Araq | offspring of javascript is a very good bet |
19:36:44 | Araq | as it's slowly growing features that acknowledge it's a compiler target now |
19:38:21 | fowl | i heard it will have udp by 2014 |
19:39:50 | gradha | but it will take up to 2017 to standardize across browsers |
19:43:28 | Araq | speaking of which ... somebody needs to test the JS backend further ... |
20:09:08 | * | ryderblue joined #nimrod |
20:21:10 | gradha | zahary: I'm having some problems with the vim support |
20:21:26 | gradha | the first time I try to use JumpToDef vim barks |
20:21:42 | gradha | error processing ~/.vim/ftplugin/nimrod.vim |
20:21:47 | gradha | line 90 |
20:22:01 | gradha | can't redefine GotoDefinition_nimrod: is already in use |
20:22:11 | gradha | however, after that brief error it works fine |
20:23:18 | gradha | also, if you go to examples/cross_calculator/nimrod_commandline/nimcalculator.nim and try to use JumpToDef on the call to myAdd, vim fails with a different error, possibly because nimrod doesn't find the myAdd |
20:23:51 | gradha | is there a log or something which shows the interaction between vim and the nimrod call? |
20:27:57 | gradha | oh man, this is so sweet, idetools is superior to ctags |
20:29:46 | Araq | yay :D |
20:29:52 | Araq | already superior :D |
20:30:17 | gradha | by several orders of magnitude |
20:31:08 | gradha | huh, this is going to throw a wrench in my documentation domination plans if looking at the nimrod source is a key combo away |
20:32:19 | gradha | look at that, vim looks like an ide! |
20:32:51 | gradha | colors and jumping around, what next? |
20:34:01 | Araq | well ... people here tried it with their 40K+ nimrod apps and found the compiler too slow for idetools then ;-) |
20:34:29 | Araq | so next steps are getting 'nimrod serve' to work well |
20:37:27 | gradha | right, I forgot I'm not encoding video in the background, will have to retest then the speed |
20:38:57 | gradha | wouldn't the server version require the ide to re-submit code for reparsing after changes? |
20:39:22 | gradha | I guess you can speed up imported modules |
20:39:33 | gradha | s/speed up/cache/ |
20:39:57 | Araq | that's one way to do it but the first steps are done via /tmp |
20:40:16 | Araq | so the editor updates /tmp and passes that path to the compiler |
20:40:39 | Araq | and caching imported modules is already implemented, try --symbolFiles:on |
20:41:05 | Araq | it's however *cough* fragile ... |
20:42:52 | gradha | rod files? As in Rod Stewart? |
20:44:28 | gradha | wouldn't expect less from the hijackers of the nokia metafile thingy |
20:44:49 | Araq | ;-) |
20:45:04 | Araq | it's because I still want to port it to DOS :P |
20:45:21 | Araq | the only real OS that ever existed |
20:45:40 | Araq | no silly abstractions |
20:45:59 | Araq | 6 different types of RAM |
20:46:24 | gradha | I wonder if DJGPP is still around |
20:46:24 | Araq | hell ya |
20:46:31 | Araq | near and far pointers ftw |
20:48:08 | gradha | the times when you could use the vsync for timing your program |
20:48:34 | Araq | the times where you'd sqrt() instead of sleep() :D |
20:48:54 | gradha | you should go further, port it to a spectrum, tapes are cool! |
20:49:43 | gradha | "to load the next overlay page to ram, please press play on the cassette" |
20:52:11 | gradha | awesome, you can still get the 16bit djgpp http://www.delorie.com/djgpp/16bit/ and submit patches |
20:52:33 | * | Araq wonders if "master of magic" is open source by now ... |
20:53:09 | gradha | I believe some people hacked the binary to fix stuff and released it somewhere |
20:53:42 | Araq | don't tell me |
20:53:55 | Araq | these things are killers for nimrod's progress |
20:54:24 | gradha | you better 0.0.0.0 the google domain on your /etc/hosts then |
20:58:18 | Araq | meh, I played it recently anyway ;-) |
20:58:39 | Araq | these DOS apps surely are more portable than the average Java program ... |
20:59:37 | Araq | and the reason is: it's software with a purpose :P |
20:59:57 | gradha | yeah, stuff like summvm shows that given enough willpower, anything can be accomplished |
21:00:32 | gradha | ah, http://www.scummvm.org, I always miss some consonant |
21:04:16 | * | Trixar_za is now known as Trix[a]r_za |
21:06:48 | fowl | sdl surfaces have a refcount field where they arent actually freed until it hits 0, is it possible to hook up nimrods gc to these? |
21:07:26 | Araq | nope ;-) |
21:07:37 | Araq | but it's not necessary |
21:07:53 | Araq | the finalizer should work |
21:09:59 | gradha | I'm wondering about those invisible 40K+ nimrod apps, I'm compressing video in the background and the vim idetools jump still works in less than a second to something like TObject, maybe a longish 0.6 seconds now |
21:12:21 | fowl | Araq: what do you mean the finalizer |
21:14:18 | Araq | 0.6s are too long ;-) |
21:14:36 | Araq | gradha: aporia is over 50K loc |
21:14:37 | gradha | I could clearly feel my beard grow while I was caressing my chin |
21:14:57 | Araq | and so is the compiler itself |
21:15:28 | Araq | fowl: graphics.nim wraps PSurface and makes it use a finalizer |
21:16:15 | gradha | hmm... wc -l *nim in the Aporia directory says total 4123 LOC, the 40K+ is for Kilobytes or 40000 thousand lines. I get confused if you don't express stuff in football fields |
21:16:27 | fowl | Araq: ah ok |
21:18:05 | gradha | yes, jumping around randomly in aporia.nim is slower, about 2 seconds jumping to gtk2 wrappers' stuff |
21:18:11 | gradha | maybe 3 |
21:18:32 | Araq | sorry, 40_000 lines |
21:18:43 | Araq | but that includes the enormous gtk wrappers |
21:21:28 | gradha | maybe to gain wikipedia notoriety we should hijack some successful kickstarter project and vote for it to be implemented in nimrod, as one of their usual stretch goals |
21:22:53 | fowl | i was thinking about wrapping it in a ref and wrapping the surface functions |
21:23:58 | Araq | well look at graphics.nim does it, fowl |
21:24:02 | zahary | sorry, gradha, I was afk. |
21:24:09 | fowl | i know so i dunno if i should now |
21:24:21 | gradha | no problem |
21:25:29 | gradha | btw, I know why the jumping doesn't work in the nimcalculator.nim example I picked |
21:25:47 | gradha | that's because the referenced module is out of the current path, in ../nimrod_backend |
21:25:57 | gradha | so there's no way nimrod would way how to jump to it |
21:26:09 | zahary | I've seen the error you mentioned, but only after I disabled the single-loading guards in the script. it's thus probably not something exotic and I'll soon hit it again in a real hacking session |
21:27:08 | gradha | maybe I could get around the path problem with a nimrod.cfg in the current directory |
21:28:37 | gradha | yes! additional nimrod.cfg solves the problem |
21:29:09 | gradha | the error without the path is scary, since there's not much to see/debug |
21:29:54 | gradha | just an "error executing nimrod. exit code: 1" |
21:30:24 | gradha | i guess that's vim's fault and there's nothing nimrod or the macro can do |
21:31:56 | zahary | I made the behavior there a bit unfriendly on purpose (for now) - I print the whole nimrod output when the compiler returns bad exit code so we can see what's going on |
21:32:33 | gradha | where's that output? |
21:32:34 | zahary | vim doesn't display the lines in the output very well |
21:32:39 | gradha | ah |
21:33:42 | gradha | more or less this is what I see in such a situation http://pastebin.com/eX56driS |
21:35:33 | zahary | not very useful indeed - if it's too painful, I'll disable the error message |
21:35:49 | gradha | can you log it to a file in /tmp maybe? |
21:36:36 | gradha | maybe as commented stuff, which uncommented generates the command executed (parameters included) and the result |
21:36:41 | zahary | I planned to use a special scrath buffer in vim to record the iteractions with the compiler (will be useful after nimrod serve is integrated) |
21:40:00 | gradha | Araq: in nimrod.cfg files you can use $variable, with variables like nimrod, user, projectPath, etc. |
21:40:18 | gradha | didn't find projectPath in the index, is it documented somewhere? |
21:42:11 | gradha | compiler/commands.nim:processPath |
21:44:37 | gradha | hmm, no $user there |
21:45:06 | zahary | btw, does anybody have an idea how one can talk in the #vim channel? who must bless me? |
21:45:39 | Araq | hrm I dunno if all this stuff is documented |
21:45:39 | Araq | I don't think so |
21:45:54 | Araq | and I think the $var handling is inconsistent ;-) |
21:49:16 | fowl | zahary: you might have to register |
21:53:13 | zahary | yeah, a bit of rtft "read the fucking topic" |
22:07:13 | Araq | btw zahary I decided to go with rust's solution for the non-null stuff ... :-/ |
22:10:55 | zahary | your previous single expression construction idea? |
22:17:34 | zahary | It's fine with me - it's more restrictive, which means that if we implement another means to guarantee safety in the future we can just lift the restrictions |
22:18:17 | zahary | you should add partial unroll semantics tho - if there is exception while the second field is being constructed, destroy the first |
22:20:20 | Araq | ugh ... |
22:20:24 | Araq | ;-) |
22:20:52 | Araq | (yeah the single expression idea) |
22:21:05 | Araq | we need it anyway for case objects |
22:25:48 | fowl | did apriori publish his matrix lib |
22:26:45 | Araq | don't think so, he's pretty busy |
22:27:09 | fowl | o |
22:28:12 | Araq | fowl: which bug of yours should has priority? |
22:28:23 | Araq | I feel like fixing some bugs |
22:30:02 | gradha | Araq: how portable is the parsing of .cfg files with regards to paths? say, I create a windows file with a .cfg path of "..\..\something\blue", would that work on unix? |
22:30:25 | Araq | no, but you can use / everywhere |
22:30:32 | gradha | will do |
22:30:59 | Araq | btw winapi supports / for \ too ;-) |
22:31:58 | fowl | probably this one https://github.com/Araq/Nimrod/issues/215 |
22:32:13 | Araq | btw, zahary, news.txt says: "Nimrod can now infer the return type of a proc from its body" but that's not implemented yet, right? |
22:32:28 | zahary | it is |
22:32:39 | zahary | proc foo: auto = 10 |
22:32:58 | zahary | it's even documented |
22:33:07 | Araq | I know |
22:33:21 | Araq | I added "not implemented yet" to the docs ... :-/ |
22:33:32 | Araq | I grepped for 'auto' in the compiler and found nothing :D |
22:33:48 | Araq | I guess I was stupid and it's system.auto |
22:35:32 | zahary | you'll see in system.nim type auto = expr; this makes auto a type class accepting any value |
22:36:04 | Araq | so: proc foo: expr = 10 works too? |
22:36:43 | zahary | I'm not sure, because expr is kind of magical, but it might work |
22:37:27 | Araq | I'll check later |
22:37:33 | Araq | fowl: dependencies/genpacket/genpacket_enet.nim(231, 22) Error: type mismatch: got (typeDesc) |
22:37:35 | Araq | but expected one of: |
22:37:36 | Araq | macros.kind(n: PNimrodNode): TNimrodNodeKind |
22:37:56 | Araq | when I do: nimrod c keineschweine.nim |
22:39:33 | fowl | underlyingType should be coming in as a node |
22:40:36 | fowl | i still get the error in the issue |
22:44:48 | Araq | well hu ... my version of keineschweine seems up to date |
22:50:41 | Araq | I get the same error when I change the 'typedesc' to 'expr' though |
22:50:50 | Araq | I mean the same error as you do |
22:52:57 | Araq | oh ... it's the known closure bug ;-) |
22:53:15 | Araq | was about to fix that one anyway ;-) |
23:00:09 | fowl | word |
23:06:31 | Araq | bug #241 is hard I have no SDL headers installed |
23:06:43 | Araq | er, sfml |
23:06:59 | Araq | and my linux is broken so I can't install new packages :P |
23:11:21 | zahary | gradha, I also recommend this plugin: https://github.com/Shougo/neocomplcache. you'll get intellisense from my plugin if you install it |
23:11:44 | zahary | and I just pushed another fix to make it a bit prettier |
23:11:58 | gradha | thanks, I'll look at it, though I'm a happy user of Ctrl+P |
23:12:40 | zahary | by intellisense, I mean the fancy auto-completion menus when you type foo.(cursor here) |
23:13:02 | zahary | ctrl+p rules otherwise :) |
23:22:26 | * | gradha quit (Quit: gradha) |
23:47:27 | * | Amrykid quit (Changing host) |
23:47:27 | * | Amrykid joined #nimrod |