<<08-11-2012>>

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:01gradhaTrix[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:41Trixar_zagradha: It how you tell my ZNC disconnected
16:50:00Trixar_zaWell, when I disconnect from it anyway
17:09:45zaharygradha: the latest version of nimrod.vim adds support for nimrod idetools --def
17:09:46zaharyhttps://github.com/zah/nimrod.vim/
17:10:40gradhathat's a reasurring readme you have there
17:11:18fowllol
17:11:41gradha(puts on helmet) time to test stuff
17:11:42Trixar_zaMost people are lucky if they get any README from me
17:11:58zaharyah, it's not written by me :)
17:12:06zaharyi'm too lazy to write a better one
17:12:23zaharyhttps://gist.github.com/4040134 I used that in my vimrc to enable the feature
17:12:45Trixar_zaI 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:46Trixar_zalol
17:13:09Trixar_zaSound like the file I made for geany
17:13:15Trixar_zaSounds*
17:13:31Trixar_zaWhich reminds me - I have to make do a keyword
17:15:38zaharybtw, if don't have syntastic already - highly recommended. my plugin integrates with it
17:16:37gradhaI'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:32zaharysyntastic 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:33zaharyhttps://github.com/scrooloose/syntastic
17:18:34gradhagosh, "error ballons", just what I needed
17:18:49gradhaI wonder how that looks like in a terminal
17:21:10gradhaheh, that's funny, I actually had a clone of your nimrod.vim repo
17:38:01gradhaman, nuking your vim configuration isn't funny when you have backups, only tedious
17:40:47gradhawow, this is quite cool, but terribly slow
17:41:09gradhajust jumped to a db_sqlite fast row iterator, takes about 3 seconds
17:41:46gradhaI'm typing manually :call JumpToDef(), what's the M-g thingy? Alt+g?
17:43:40fowlmeta is the windows key i believe
17:44:16gradhaThis is what I get 
18:00:09*Araq_bnc is now known as Araq
18:03:41Araqgradha: why is it so slow? using a debug build of nimrod?
18:04:33gradhalikely
18:04:53gradhawas it koch boot -d:release to make it fast?
18:07:21Araqyes
18:08:09gradhanow it takes about 0.5 seconds
18:08:45Araqand btw the "illegal storage access" looks like the better error message
18:08:56Araqbecause there is a bug and I prefer crashing then ;-)
18:09:40gradhayou mean https://github.com/Araq/Nimrod/issues/247 ? that was with a bad build
18:10:01Araqwell the code has a bug, so it'd better crash
18:10:08gradhaI'll try again now with the release version...
18:10:15Araqdon't
18:10:19Araqthere is no point
18:10:37Araqit's wrong and will lead to corruption
18:10:47gradhafun!
18:10:55Araqresults of the release version are quite meaningless ;-)
18:13:39Araqsigh ... these cascading errors are so annoying to deal with
18:14:10Araqthis "continue after first error" feature really breaks many invariants ...
18:26:14Trixar_zaCascading 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:21Araqno, it's unlike python
18:27:33Araqand it's essential for IDE support
18:27:43*ryderblue joined #nimrod
18:28:35Araqit's not that I *like* the feature, it's a necessary evil, so there is nothing to discuss :P
18:29:02Trixar_zalol
18:29:20Trixar_zaThis is why I make certain features toggle-able
18:30:19Araqit *is* toggle-able and per default it's turned off :P
18:30:42Trixar_zaExactly my mentality
18:31:22Trixar_zaI 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:39Trixar_zaI also make defaults exactly how I like them
18:41:37*ryderblue quit (Remote host closed the connection)
19:00:06Araqso ... I guess I should close #246 ...
19:00:31Araqand calling Java a "modern OO language" is somewhat offensive ... ;-)
19:02:27gradhawell, most languages nowadays are modern if you compare them to lisp's timeline
19:04:06Trixar_zaThat's if you define "Modern" as being "Bloated"
19:04:55Trixar_zaWhich 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:05Trixar_zaHmmmm
19:05:12*Trixar_za applies this to dating...
19:09:14gradhaI think most people use modern as a synonym of contemporary
19:09:30gradhaAraq: I believe #246 wants some guarantee about performance
19:10:18gradhaas in: don't have any benchmark, but my gut tells me this is bad
19:10:57Trixar_zagradha: I think that's a fair assessment
19:11:28Trixar_zaOh, it has OOP - it must be modern >.<
19:12:16gradhaI remember learning how to program OOP C before knowing what a pointer was
19:12:23Trixar_zaMind you, I'm still trying to work out this whole cloud thing
19:12:48gradhaalso remember badly screwing pointers and memory management once I thought I learnt what a pointer was
19:14:25Araqwell this whole "omg 'ref' doesn't mean what it means in C#/D" is getting tiresome
19:14:49AraqC# didn't have the feature when I designed this part of the language
19:15:09Araqor I didn't know about it
19:15:09AraqD still used 'inout'
19:15:15Araqand I copied the var/ref terms from modula 3 ...
19:15:48Araqcouldn't come up with better and at same time shorter terms ...
19:16:08Araqin fact, I did improve over modula 3 as that uses "untraced ref" and "traced ref"
19:17:24gradhaI 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:29gradhasaying nimrod compiles to C and has garbage collection makes you look like a looney
19:22:10Araqlol
19:22:34AraqI must admit the average developer's ignorance is still suprising
19:26:51gradhaI laughed the other day at your comment on C not being low level enough to manage a stack
19:28:35gradhanow that C is considered a "crossplatform assembler"
19:30:14gradhaimagine what will be the crossplatform assembler in 15 years, likely an offspring of javascript running in a browser
19:30:31gradhaif we still have browsers...
19:34:13fowlprobably a dialect of rust that has been mutated from the radioactive clouds that cover the earth
19:36:19Araqoffspring of javascript is a very good bet
19:36:44Araqas it's slowly growing features that acknowledge it's a compiler target now
19:38:21fowli heard it will have udp by 2014
19:39:50gradhabut it will take up to 2017 to standardize across browsers
19:43:28Araqspeaking of which ... somebody needs to test the JS backend further ...
20:09:08*ryderblue joined #nimrod
20:21:10gradhazahary: I'm having some problems with the vim support
20:21:26gradhathe first time I try to use JumpToDef vim barks
20:21:42gradhaerror processing ~/.vim/ftplugin/nimrod.vim
20:21:47gradhaline 90
20:22:01gradhacan't redefine GotoDefinition_nimrod: is already in use
20:22:11gradhahowever, after that brief error it works fine
20:23:18gradhaalso, 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:51gradhais there a log or something which shows the interaction between vim and the nimrod call?
20:27:57gradhaoh man, this is so sweet, idetools is superior to ctags
20:29:46Araqyay :D
20:29:52Araqalready superior :D
20:30:17gradhaby several orders of magnitude
20:31:08gradhahuh, 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:19gradhalook at that, vim looks like an ide!
20:32:51gradhacolors and jumping around, what next?
20:34:01Araqwell ... people here tried it with their 40K+ nimrod apps and found the compiler too slow for idetools then ;-)
20:34:29Araqso next steps are getting 'nimrod serve' to work well
20:37:27gradharight, I forgot I'm not encoding video in the background, will have to retest then the speed
20:38:57gradhawouldn't the server version require the ide to re-submit code for reparsing after changes?
20:39:22gradhaI guess you can speed up imported modules
20:39:33gradhas/speed up/cache/
20:39:57Araqthat's one way to do it but the first steps are done via /tmp
20:40:16Araqso the editor updates /tmp and passes that path to the compiler
20:40:39Araqand caching imported modules is already implemented, try --symbolFiles:on
20:41:05Araqit's however *cough* fragile ...
20:42:52gradharod files? As in Rod Stewart?
20:44:28gradhawouldn't expect less from the hijackers of the nokia metafile thingy
20:44:49Araq;-)
20:45:04Araqit's because I still want to port it to DOS :P
20:45:21Araqthe only real OS that ever existed
20:45:40Araqno silly abstractions
20:45:59Araq6 different types of RAM
20:46:24gradhaI wonder if DJGPP is still around
20:46:24Araqhell ya
20:46:31Araqnear and far pointers ftw
20:48:08gradhathe times when you could use the vsync for timing your program
20:48:34Araqthe times where you'd sqrt() instead of sleep() :D
20:48:54gradhayou should go further, port it to a spectrum, tapes are cool!
20:49:43gradha"to load the next overlay page to ram, please press play on the cassette"
20:52:11gradhaawesome, 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:09gradhaI believe some people hacked the binary to fix stuff and released it somewhere
20:53:42Araqdon't tell me
20:53:55Araqthese things are killers for nimrod's progress
20:54:24gradhayou better 0.0.0.0 the google domain on your /etc/hosts then
20:58:18Araqmeh, I played it recently anyway ;-)
20:58:39Araqthese DOS apps surely are more portable than the average Java program ...
20:59:37Araqand the reason is: it's software with a purpose :P
20:59:57gradhayeah, stuff like summvm shows that given enough willpower, anything can be accomplished
21:00:32gradhaah, http://www.scummvm.org, I always miss some consonant
21:04:16*Trixar_za is now known as Trix[a]r_za
21:06:48fowlsdl 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:26Araqnope ;-)
21:07:37Araqbut it's not necessary
21:07:53Araqthe finalizer should work
21:09:59gradhaI'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:21fowlAraq: what do you mean the finalizer
21:14:18Araq0.6s are too long ;-)
21:14:36Araqgradha: aporia is over 50K loc
21:14:37gradhaI could clearly feel my beard grow while I was caressing my chin
21:14:57Araqand so is the compiler itself
21:15:28Araqfowl: graphics.nim wraps PSurface and makes it use a finalizer
21:16:15gradhahmm... 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:27fowlAraq: ah ok
21:18:05gradhayes, jumping around randomly in aporia.nim is slower, about 2 seconds jumping to gtk2 wrappers' stuff
21:18:11gradhamaybe 3
21:18:32Araqsorry, 40_000 lines
21:18:43Araqbut that includes the enormous gtk wrappers
21:21:28gradhamaybe 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:53fowli was thinking about wrapping it in a ref and wrapping the surface functions
21:23:58Araqwell look at graphics.nim does it, fowl
21:24:02zaharysorry, gradha, I was afk.
21:24:09fowli know so i dunno if i should now
21:24:21gradhano problem
21:25:29gradhabtw, I know why the jumping doesn't work in the nimcalculator.nim example I picked
21:25:47gradhathat's because the referenced module is out of the current path, in ../nimrod_backend
21:25:57gradhaso there's no way nimrod would way how to jump to it
21:26:09zaharyI'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:08gradhamaybe I could get around the path problem with a nimrod.cfg in the current directory
21:28:37gradhayes! additional nimrod.cfg solves the problem
21:29:09gradhathe error without the path is scary, since there's not much to see/debug
21:29:54gradhajust an "error executing nimrod. exit code: 1"
21:30:24gradhai guess that's vim's fault and there's nothing nimrod or the macro can do
21:31:56zaharyI 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:33gradhawhere's that output?
21:32:34zaharyvim doesn't display the lines in the output very well
21:32:39gradhaah
21:33:42gradhamore or less this is what I see in such a situation http://pastebin.com/eX56driS
21:35:33zaharynot very useful indeed - if it's too painful, I'll disable the error message
21:35:49gradhacan you log it to a file in /tmp maybe?
21:36:36gradhamaybe as commented stuff, which uncommented generates the command executed (parameters included) and the result
21:36:41zaharyI 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:00gradhaAraq: in nimrod.cfg files you can use $variable, with variables like nimrod, user, projectPath, etc.
21:40:18gradhadidn't find projectPath in the index, is it documented somewhere?
21:42:11gradhacompiler/commands.nim:processPath
21:44:37gradhahmm, no $user there
21:45:06zaharybtw, does anybody have an idea how one can talk in the #vim channel? who must bless me?
21:45:39Araqhrm I dunno if all this stuff is documented
21:45:39AraqI don't think so
21:45:54Araqand I think the $var handling is inconsistent ;-)
21:49:16fowlzahary: you might have to register
21:53:13zaharyyeah, a bit of rtft "read the fucking topic"
22:07:13Araqbtw zahary I decided to go with rust's solution for the non-null stuff ... :-/
22:10:55zaharyyour previous single expression construction idea?
22:17:34zaharyIt'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:17zaharyyou should add partial unroll semantics tho - if there is exception while the second field is being constructed, destroy the first
22:20:20Araqugh ...
22:20:24Araq;-)
22:20:52Araq(yeah the single expression idea)
22:21:05Araqwe need it anyway for case objects
22:25:48fowldid apriori publish his matrix lib
22:26:45Araqdon't think so, he's pretty busy
22:27:09fowlo
22:28:12Araqfowl: which bug of yours should has priority?
22:28:23AraqI feel like fixing some bugs
22:30:02gradhaAraq: 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:25Araqno, but you can use / everywhere
22:30:32gradhawill do
22:30:59Araqbtw winapi supports / for \ too ;-)
22:31:58fowlprobably this one https://github.com/Araq/Nimrod/issues/215
22:32:13Araqbtw, 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:28zaharyit is
22:32:39zaharyproc foo: auto = 10
22:32:58zaharyit's even documented
22:33:07AraqI know
22:33:21AraqI added "not implemented yet" to the docs ... :-/
22:33:32AraqI grepped for 'auto' in the compiler and found nothing :D
22:33:48AraqI guess I was stupid and it's system.auto
22:35:32zaharyyou'll see in system.nim type auto = expr; this makes auto a type class accepting any value
22:36:04Araqso: proc foo: expr = 10 works too?
22:36:43zaharyI'm not sure, because expr is kind of magical, but it might work
22:37:27AraqI'll check later
22:37:33Araqfowl: dependencies/genpacket/genpacket_enet.nim(231, 22) Error: type mismatch: got (typeDesc)
22:37:35Araqbut expected one of:
22:37:36Araqmacros.kind(n: PNimrodNode): TNimrodNodeKind
22:37:56Araqwhen I do: nimrod c keineschweine.nim
22:39:33fowlunderlyingType should be coming in as a node
22:40:36fowli still get the error in the issue
22:44:48Araqwell hu ... my version of keineschweine seems up to date
22:50:41AraqI get the same error when I change the 'typedesc' to 'expr' though
22:50:50AraqI mean the same error as you do
22:52:57Araqoh ... it's the known closure bug ;-)
22:53:15Araqwas about to fix that one anyway ;-)
23:00:09fowlword
23:06:31Araqbug #241 is hard I have no SDL headers installed
23:06:43Araqer, sfml
23:06:59Araqand my linux is broken so I can't install new packages :P
23:11:21zaharygradha, I also recommend this plugin: https://github.com/Shougo/neocomplcache. you'll get intellisense from my plugin if you install it
23:11:44zaharyand I just pushed another fix to make it a bit prettier
23:11:58gradhathanks, I'll look at it, though I'm a happy user of Ctrl+P
23:12:40zaharyby intellisense, I mean the fancy auto-completion menus when you type foo.(cursor here)
23:13:02zaharyctrl+p rules otherwise :)
23:22:26*gradha quit (Quit: gradha)
23:47:27*Amrykid quit (Changing host)
23:47:27*Amrykid joined #nimrod