00:02:22 | Quora | try uploading it to somewhere else? |
00:02:32 | Quora | one of those free shared hosting places maybe |
00:03:28 | Strikecarl | Just did, pomf.se didnt 404 |
00:03:38 | Strikecarl | but pretty sure pomf.se deletes the file after x amount of time |
00:03:39 | Strikecarl | which i don't want. |
00:03:50 | TEttinger | hm? |
00:03:58 | TEttinger | there's a sister site to pomf.se that deletes |
00:04:05 | TEttinger | I don't think pomf.se does |
00:05:00 | Strikecarl | Sounds good. |
00:05:53 | Crocodick | Araq: do we really want to see all the hints for nimble paths? |
00:05:58 | TEttinger | uguu is the one that deletes after a day |
00:06:13 | Strikecarl | ty TEttinger |
00:06:27 | Crocodick | the only way to disable them are to disable the hint with direct --hint to the compiler |
00:06:50 | Crocodick | or directly in $nim/config/nim.cfg |
00:07:24 | Crocodick | it doesnt work in the others nim.cfg |
00:09:32 | * | Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
00:15:46 | * | dgym quit (Quit: Page closed) |
00:18:34 | ozra | Is it possible to make two identical pattern matches, one with {noSideEffect} on an arg, the other without? for different term rewritings... |
00:20:33 | fowl | Crocodick: I think the hints for nimble paths are good, you can have multiple versions of a package installed and that shows which is going to be used |
00:21:06 | dhasenan | I can't wait for autoderef to be on bydefault. |
00:21:12 | Crocodick | fowl: mmm i mean it just show all the paths |
00:21:20 | Crocodick | it doesnt tell you which are used |
00:21:29 | fowl | Crocodick: they're all available |
00:22:10 | Crocodick | yes, i just dont see why you would need to see them every compilation |
00:22:14 | * | boydgreenfield quit (Quit: boydgreenfield) |
00:22:20 | Crocodick | if you dont install any new one, its always the same |
00:22:43 | Crocodick | having 3 pages of text in your console every time is no fun imo |
00:22:52 | Araq | ozra: yeah should be possible |
00:23:01 | dtscode | If only there was a way to clear the console... |
00:23:11 | Araq | Crocodick: yeah but I don't know what to do about it |
00:23:15 | Crocodick | i dont want to clear it, i want to see diffs |
00:23:40 | dtscode | If only there was a way to `diff` |
00:24:03 | Crocodick | Araq: what about disabled them in the nim.cfg by default around the @if nimbabel: and reenabling them after? |
00:24:15 | Crocodick | disabling* |
00:24:28 | ozra | Araq: Is it specified that noSideEffect is tried first, then the other? |
00:25:15 | Crocodick | Araq: like so -> http://pastebin.com/raw.php?i=KHjrf06T it works |
00:25:40 | Araq | ozra: no, thats not necessary |
00:27:39 | * | kumul joined #nim |
00:27:44 | ozra | Araq: How so? A more efficient optimization can be written with a non-side-effectful, while the other has to cache it in a var first, as to not execute statemets multiple times before doing magic things.. So the nosideeff should have precedance in matching, no? |
00:28:01 | * | gokr quit (Ping timeout: 264 seconds) |
00:30:26 | Araq | ozra: yes, sorry I misread your question |
00:30:36 | Araq | so yeah that should just work |
00:31:40 | ozra | Ok, thanks. |
00:31:55 | Crocodick | dtscode: so you dont have spam filter on your email? |
00:32:32 | dtscode | Crocodick: Of course |
00:32:39 | dtscode | errr, Of course I do |
00:32:45 | dtscode | What would that have to do with anything |
00:32:56 | Crocodick | same reason i want to be able to disable 3 pages of unhelpful information |
00:33:28 | dtscode | Nim isn't giving you advertisments for dick enlargement pills... |
00:33:49 | Crocodick | its as usefull to me |
00:33:55 | Crocodick | the pill might help tho |
00:34:46 | dtscode | lolwut? |
00:35:08 | dtscode | Email Spam filter talk belongs in -offtopic |
00:35:23 | Crocodick | you bring it up? |
00:35:29 | dtscode | <Crocodick> dtscode: so you dont have spam filter on your email? |
00:35:50 | Crocodick | son, i was making a point about the path spam |
00:36:13 | Crocodick | why is nim --verbose:1 by default? and not :3? |
00:36:26 | Crocodick | information overload |
00:36:28 | dtscode | Don't call me son; It was a piss poor point; Its not spam |
00:36:56 | Crocodick | its useless information to output each compilation if you dont explicitly need it |
00:37:27 | dtscode | Its not useless. And who says you don't need it |
00:37:34 | Crocodick | i do |
00:37:48 | Crocodick | who says you dont need dick enlargment pill? |
00:38:28 | ozra | Araq: Thinking about it, is there a matching precedance order list somewhere for all the different param constraints, and plain par? |
00:39:05 | dtscode | I don't care if you say it. That doesn't make the information irrelevant |
00:39:42 | Araq | ozra: these are all matched the same. T{prop} is prefered over T and that's about it |
00:40:01 | Crocodick | thats why options exists, same reason the default verbosity for nim is 1 and not 3 |
00:40:11 | dtscode | lolwut? |
00:40:29 | Crocodick | reading comprehension? |
00:40:32 | Araq | dtscode, Crocodick please calm down a bit. |
00:40:43 | dtscode | Araq: Sure |
00:41:00 | Araq | dtscode: Crocodick has a point, it's rather annoying information when you don't need it. |
00:41:46 | Araq | Crocodick: dtscode has a point, the idea of caching some messages that "obviously have already been seen before" has no place in the compiler |
00:43:04 | ozra | Araq: ok. |
00:43:06 | Crocodick | i just want a working option :P |
00:43:10 | Araq | Crocodick: OnO wanted to work on making the compiler less verbose per default |
00:43:18 | ozra | I thought the spam analogy was pretty good, haha. |
00:43:41 | * | gsingh93 joined #nim |
00:44:58 | ozra | Unless there are warnings or errors it should pretty much be silent unless asked for more... huh? |
00:46:46 | Araq | dunno. I don't believe in silent programs. :P too often stuff simply crashes or doesn't work. |
00:47:15 | dtscode | Araq: Wha??? Against the unix philosophy? |
00:47:39 | ozra | One thing though: is seems like errors aren't written to stderr, but stdout - or am I wrong? |
00:47:54 | Araq | don't let me get started, dtscode ... |
00:48:14 | Araq | ozra: yeah so that >errors.txt works. |
00:48:16 | dtscode | :3 |
00:51:47 | Crocodick | yes but with that "2> error 1> output" doesnt work ;) |
00:52:02 | ozra | Araq: Most bashes you can just &>errors.txt to do that. That is seriously breaking tooling when errors can't be separated in output. A simple case as my "watch-make" util. any change in src dir auto compiles, stderr is intercepted and posited as a notification that pops up, that way I don't have to leave the editor. worls with most 'pilers. This should be changed. |
00:52:35 | Araq | Crocodick: yes, but we have no output, we produce a file instead. |
00:52:54 | dtscode | Thats still output :p |
00:53:06 | dtscode | Its just not on stdout, or rather, it didn't stay there |
00:53:21 | Araq | so I can use > instead of -o for GCC? |
00:53:40 | dtscode | No. |
00:53:54 | Crocodick | is there a way to declare something in nim.cfg |
00:53:57 | Crocodick | like d:xxx |
00:54:07 | Araq | Crocodick: -d:xxx |
00:54:17 | flaviu | If you just want the compiler to stfu, you can use --verbosity:0 --hints:off. I do that sometimes. |
00:54:20 | Crocodick | in a nim.cfg? |
00:55:00 | * | kumool joined #nim |
00:55:01 | Araq | ozra: "separated in output"? there is no other output produced, only compiler messages. |
00:55:32 | Crocodick | araq, i was just kidding about the stderr |
00:55:44 | Crocodick | marked by the ";)" |
00:56:27 | ozra | Araq: Compiler messages. Output. Me want errors on stderr. Like that. Yikes, I have to get some sleep, haha. |
00:58:46 | Araq | ozra: iirc with the --stdout switch the compiler uses stderr instead ... |
00:58:46 | * | kumul quit (Ping timeout: 264 seconds) |
01:02:40 | Crocodick | Araq: anyway i fixed it in my $nim/config/nim.cfg like this http://pastebin.com/raw.php?i=QcB954UB |
01:02:47 | ozra | Ok, I'll play around with it tomorrow, I think I need to have a smoke and wind down for bed now. Thanks for the help here.. I've done some minor doc edits, will glance through a bit tomorrow and see if I stumble on some obvious typos or so too before PR.. |
01:02:48 | Crocodick | -d:nimblepathhints if i want to see them |
01:03:05 | Crocodick | aka almost never |
01:03:08 | Araq | Crocodick: does that actually work? |
01:03:12 | Crocodick | yes |
01:03:39 | Araq | nice. I thought it cannot work :P |
01:03:48 | Crocodick | i was surprised too lol |
01:04:23 | Araq | why does the config still have babelpath? we should get rid of that |
01:04:26 | Crocodick | looks like you guyz actually add the paths while parsing the config or whatever |
01:04:41 | Araq | indeed :P |
01:05:19 | Crocodick | thats what i thought when i saw that the paths are added before the 'hits config file used..' |
01:05:28 | Crocodick | hint* |
01:05:33 | Crocodick | probably 2 passes |
01:07:01 | * | dddddd quit (Ping timeout: 264 seconds) |
01:07:31 | * | Pisuke joined #nim |
01:10:21 | * | MyMind quit (Ping timeout: 276 seconds) |
01:20:29 | * | sepisoad_ joined #nim |
01:24:50 | * | vendethiel quit (Ping timeout: 272 seconds) |
01:25:30 | * | boydgreenfield joined #nim |
01:25:36 | * | sepisoad_ quit (Ping timeout: 272 seconds) |
01:29:53 | Crocodick | Araq: before going to bed, i just want to say congratulation for nim! It might not be perfect, but its a pretty good start for a general programming language, compared to everything else out there. |
01:30:05 | Crocodick | if we could only get pattern matching now :P |
01:30:42 | Crocodick | and immutability option on ref .. and i kid, i kid ;) , good night |
01:34:24 | reactormonk | Araq, how would you implement pattern matching syntax wise? |
01:38:46 | * | Demos joined #nim |
01:39:54 | ozra | Damn, the smoke got me wound up instead.. @reactormonk, @Araq. Depending on what pattern matching you're refering too, I can recommend having a look at the language Agda and its operator pattern definition syntax. |
01:40:26 | reactormonk | ozra, it's gonna be a macro from what I've heard |
01:42:51 | * | kumool quit (Ping timeout: 276 seconds) |
01:43:12 | * | darkf joined #nim |
01:43:15 | Crocodick | i wish idris was more popular |
01:44:19 | Crocodick | it looks so much nicer than haskell with its effect system |
01:46:20 | reactormonk | Crocodick, I think araq likes his effects system too |
01:46:36 | ozra | reactormonk: I'll take agda notation mixed with nimish here for an example: `_+_ (a, b: int) = a + b`, or even `if _ then _ else _(a: bool, b, c: expr) -> if a: b else c` |
01:47:10 | reactormonk | ozra, put it inside dumpTree:\n<code> and see if it compiles - if it does, it's valid nim syntax |
01:48:09 | * | BitPuffin|osx quit (Ping timeout: 256 seconds) |
01:48:21 | ozra | Ah, no, it's not. I just posed an example of how the pattern matching part would be with agda syntax. mixed with nim syntax, to show how it'd look if adopted, I mean. |
01:54:17 | ozra | There's this one example in the manual I don't get. It's about 'move optimization'. `t[idx] = key; t[idx] = val;`. What's up with that?? |
01:56:57 | ozra | Also: "string{lit|`const`}" - why is const backticked? |
01:57:16 | reactormonk | because you insert it - that's the way templates work |
02:00:41 | ozra | I mean, the double assignment too t[idx]. Eh, I'm not following.. |
02:00:56 | reactormonk | that I don't know, link? |
02:01:38 | ozra | Mmmm.. I'll look. I'm reading from print out.. |
02:01:54 | flaviu | http://nim-lang.org/docs/manual.html#ast-based-overloading-move-optimization |
02:02:22 | ozra | Ah, you beat me :) |
02:03:03 | flaviu | I think it should be something like `t[idx].key = key; t[idx].val = val` |
02:03:44 | flaviu | https://github.com/Araq/Nim/blob/master/lib/pure/collections/tables.nim#L73-L79 |
02:04:22 | * | gsingh93 quit (Ping timeout: 252 seconds) |
02:04:52 | reactormonk | flaviu, mind PRing that? |
02:05:16 | flaviu | sure |
02:07:09 | flaviu | https://github.com/Araq/Nim/pull/2787 |
02:07:31 | * | pregressive joined #nim |
02:07:46 | ozra | I'm going over the docs here, while I'm new so I have fresh eyes, I've gotten though more than half, so I can fix it from here, so I don't have merge conflicts? |
02:08:04 | reactormonk | ozra, well, fuck. |
02:08:07 | reactormonk | sure, not a problem. |
02:08:10 | reactormonk | flaviu, sorry, reverting. |
02:08:28 | ozra | Mostly fixed typos. And then some wordings here and there. I think you will like it. |
02:08:39 | ozra | You're fast flaviu!! |
02:08:39 | reactormonk | ozra, kk, reverted |
02:09:08 | flaviu | ozra: I've been doing this for a while :P |
02:09:10 | ozra | reactormonk: cool. I got a new burst of wnergy, so I think I'll get it done before sleep... |
02:09:51 | ozra | flaviu: Then you got some vacation this time ;) I see this as a good opportunity for me to learn it faster also :) |
02:12:58 | * | strcmp1 quit (Remote host closed the connection) |
02:14:08 | ozra | Then also: "string{lit|`const`}" - why is the const constraint backticked?? |
02:15:05 | flaviu | well, it's possible to have do let `const` = 123 |
02:15:13 | flaviu | I'd assume it's to simplify the parser. |
02:15:44 | * | strcmp1 joined #nim |
02:16:25 | ozra | Hmm, but why is 'const' ticked, but not 'lit' for instance? |
02:17:08 | ozra | because it also is a keyword? |
02:18:31 | flaviu | lit is not a keyword. |
02:18:36 | flaviu | Const is. |
02:20:05 | ozra | yeah. can that be it? So if constraints lit, sideeffect, etc are used - plain, if constraints like let,const,result, etc are used they must all be ticked?? |
02:20:32 | flaviu | Well, result isn't a keyword, but yes. |
02:20:47 | ozra | Ah, no, but "kind of magic".. |
02:21:01 | ozra | Ok. |
02:21:15 | flaviu | yes, it is magical, but `var result` or `proc result(...)` is perfectly legal |
02:21:47 | * | Demon_Fox joined #nim |
02:21:49 | ozra | Hmm.. it just feels very off that constraints couldn't be expressed straight up... |
02:24:31 | flaviu | I guess it could be considered a leaked implementation detail of the compiler. |
02:27:10 | ozra | Hmm, I'm not following exactly? The constraints are clearly listed in the man? |
02:28:42 | flaviu | There would be no ambiguity in parsing if let and const did not have to be quoted in the constraints. |
02:29:04 | flaviu | But because of the way the compiler works, the parser gets confused when it sees them there. |
02:31:14 | ozra | Ok. That's on my personal todo list to fix then ;) |
02:38:36 | * | kumool joined #nim |
02:39:36 | ozra | The manual refers to "the upcoming nimfix tool"... It's done right? |
02:40:06 | reactormonk | yup |
02:40:12 | ozra | cool |
02:42:58 | * | kumool quit (Ping timeout: 256 seconds) |
02:46:43 | ozra | Do the "destructor pragma: see override pragma instead", and subsequent "override pragma: see type bound operations instead" need to be in the man? As a noob, it's all new, is there anyone in the target audience that may need that intell?? |
02:49:02 | reactormonk | manual is more of a complete guide |
02:51:13 | ozra | Ok, I'll just change the "multiple redirect" then. |
02:52:16 | reactormonk | ^^ |
02:52:26 | reactormonk | recursion: see recursion |
02:57:20 | * | vendethiel joined #nim |
03:04:52 | ozra | haha |
03:07:21 | Varriount | I'm actually sad that more people don't read the entire manual. It's not like it's overly verbose or anything. |
03:07:33 | Varriount | Then again, I like reading. |
03:22:41 | * | ddl_smurf quit (Quit: ddl_smurf) |
03:28:55 | * | taesoo quit (Ping timeout: 250 seconds) |
03:34:47 | ozra | I made a PR for the doc changes. Hope I got it right. Haven't worked with the github stuff much before, since I've been proprietary coding most my life for cash, and then there's been private git servers.. Github seems to rule. |
03:35:20 | ozra | Varriount: Yeah, I'm the same. Reading is better then sunshine for my peace of mind. |
03:36:38 | reactormonk | ozra, hm. no editor that does line wrap at 80 chars? |
03:37:22 | reactormonk | doesn't really matter imo |
03:38:01 | ozra | reactormonk: Ah, sorry - i softwrap. You want it hardwrapped? |
03:38:13 | reactormonk | ozra, the rest of it is |
03:38:20 | reactormonk | might as well keep doing it |
03:38:39 | ozra | Ok, I'll fix it. |
03:38:52 | reactormonk | but otherwise looks good to me |
03:40:21 | ozra | Ok. cool. Might take me a few minutes, I've just switched editor, can't believe I haven't seen sublime before. Was the nim highlighter that lead me there, haha. I'll just find the right tool... |
03:44:48 | * | vendethiel quit (Ping timeout: 272 seconds) |
03:49:12 | * | gsingh93 joined #nim |
04:04:33 | ozra | reactormonk: Ok, I think it's all set now. |
04:05:09 | * | boydgreenfield quit (Quit: boydgreenfield) |
04:13:32 | * | boydgreenfield joined #nim |
04:22:35 | * | endragor joined #nim |
04:30:05 | * | boydgreenfield quit (Quit: boydgreenfield) |
04:33:16 | * | Jesin quit (Ping timeout: 255 seconds) |
04:44:10 | * | dhasenan quit (Remote host closed the connection) |
04:44:27 | * | dhasenan joined #nim |
04:51:32 | * | Jesin joined #nim |
04:52:44 | reactormonk | ozra, neat |
04:53:10 | * | Jesin quit (Remote host closed the connection) |
05:02:36 | * | Demos quit (Read error: Connection reset by peer) |
05:03:00 | * | BlaXpirit joined #nim |
05:15:53 | ozra | glad to help, and learn. |
05:19:58 | * | strcmp2 joined #nim |
05:20:16 | * | ozra quit (Ping timeout: 246 seconds) |
05:22:44 | * | strcmp1 quit (Ping timeout: 245 seconds) |
05:24:13 | * | filcuc joined #nim |
05:25:29 | * | vendethiel joined #nim |
05:27:51 | * | pregressive quit (Remote host closed the connection) |
05:29:58 | * | filcuc quit (Quit: Konversation terminated!) |
05:31:26 | * | dtscode is now known as PaulMaudib |
05:32:47 | * | jbomo left #nim (#nim) |
05:41:39 | * | BlaXpirit quit (Quit: Quit Konversation) |
06:24:07 | * | intra joined #nim |
06:32:00 | * | IronY is now known as sadasdas |
06:32:06 | * | sadasdas is now known as IronY |
06:35:13 | * | strcmp2 quit (Ping timeout: 264 seconds) |
06:42:22 | * | gokr joined #nim |
06:45:16 | * | PaulMaudib is now known as dtscode |
06:59:55 | * | boydgreenfield joined #nim |
07:04:38 | ggVGc | uhm, which repo is the main one for nim.vim? |
07:04:43 | ggVGc | the original nimrod.vim is 5 years old |
07:04:47 | ggVGc | and there are several forks |
07:05:43 | * | endragor_ joined #nim |
07:08:38 | * | endragor quit (Ping timeout: 244 seconds) |
07:17:08 | * | boydgreenfield quit (Quit: boydgreenfield) |
07:19:50 | * | endragor_ quit (Remote host closed the connection) |
07:21:46 | * | vendethiel quit (Ping timeout: 256 seconds) |
07:25:51 | * | mihailp joined #nim |
07:27:02 | * | Sembei joined #nim |
07:27:41 | * | Sembei quit (Client Quit) |
07:27:46 | * | mihailp left #nim (#nim) |
07:33:44 | * | OnO joined #nim |
07:45:57 | * | gsingh93 quit (Quit: Connection closed for inactivity) |
07:59:50 | * | ddl_smurf joined #nim |
08:01:11 | * | ddl_smurf quit (Client Quit) |
08:03:42 | * | johnsoft quit (Ping timeout: 256 seconds) |
08:03:57 | * | johnsoft joined #nim |
08:10:37 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
08:13:41 | Araq | ggVGc: zah's ? |
08:14:53 | * | endragor joined #nim |
08:17:50 | * | vendethiel joined #nim |
08:23:19 | ggVGc | Araq: yeah that's the one I'm using now |
08:24:04 | Araq | does that support nimsuggest? |
08:33:26 | ggVGc | how do I actually write a new instance to memory allocated with alloc? |
08:41:48 | * | vendethiel quit (Ping timeout: 265 seconds) |
08:42:04 | * | strcmp1 joined #nim |
08:51:11 | Araq | cast the pointer |
08:51:12 | * | vendethiel joined #nim |
08:53:10 | ggVGc | ah right |
08:53:17 | ggVGc | that was a pretty silly question |
08:59:47 | * | ddl_smurf joined #nim |
09:02:16 | * | endragor_ joined #nim |
09:04:06 | * | Matthias247 joined #nim |
09:05:17 | * | endragor quit (Ping timeout: 258 seconds) |
09:06:26 | * | endragor_ quit (Ping timeout: 244 seconds) |
09:07:47 | * | TEttinger quit (Ping timeout: 264 seconds) |
09:12:52 | * | [CBR]Unspoken quit (Remote host closed the connection) |
09:16:04 | * | ingsoc joined #nim |
09:27:52 | * | BlaXpirit joined #nim |
09:28:19 | * | Demon_Fox quit (Quit: Leaving) |
09:36:38 | * | vendethiel quit (Ping timeout: 246 seconds) |
09:38:54 | * | vendethiel joined #nim |
09:51:16 | * | intra quit (Ping timeout: 258 seconds) |
09:59:29 | * | milosn quit (Quit: leaving) |
10:02:03 | * | vendethiel quit (Ping timeout: 276 seconds) |
10:04:46 | * | vendethiel joined #nim |
10:06:00 | * | xificurC quit (Quit: WeeChat 1.2) |
10:10:40 | * | gunn joined #nim |
10:22:01 | * | sepisoad_ joined #nim |
10:25:05 | * | intra joined #nim |
10:28:37 | * | vendethiel quit (Ping timeout: 264 seconds) |
10:53:04 | * | vendethiel joined #nim |
10:54:39 | * | akiradeveloper joined #nim |
10:56:50 | * | dddddd joined #nim |
10:57:58 | * | sepisoad_ quit (Quit: Leaving) |
11:04:20 | * | gunn quit (Quit: Textual IRC Client: www.textualapp.com) |
11:07:20 | * | BitPuffin|osx joined #nim |
11:09:28 | * | Kingsquee quit (Quit: Konversation terminated!) |
11:16:47 | * | vendethiel quit (Ping timeout: 264 seconds) |
11:19:48 | * | jonathon joined #nim |
11:21:04 | * | vendethiel joined #nim |
11:22:16 | jonathon | hi, slightly noobish question, what's the best way of dealing with a 'nil' in a record with a NULL field in db_mysql ? e.g. say I generate a Pupil object "var p = Pupil(id: parseInt(record[0]), first: record[1], last: record[2], class: parseInt(record[3]))" but one of those is NULL nim fails with 'attempt to read from nil?' |
11:24:07 | jonathon | i could do an 'if record[0] != nil' but it seems inefficient to do it four times |
11:24:27 | Araq | jonathon: helper proc? |
11:25:07 | jonathon | Araq: yup, i think you're right |
11:25:16 | jonathon | making sure i hadn't missed something built in! |
11:25:19 | Araq | proc toInt(x: string): int = (if x.isNil: -1 else: x.parseInt) |
11:27:47 | jonathon | that'll do nicely, thank you! |
11:32:33 | * | strcmp1 quit (Ping timeout: 240 seconds) |
11:33:08 | jonathon | is there a way of passing nil to an object constructor, so e.g. if class is NULL the Pupil object doesn't care it doesn't have a class? actually, i could just have a default value of 0 and not have class in the constructor at all... |
11:33:17 | jonathon | way to answer my own question :) |
11:34:27 | * | Trustable joined #nim |
11:36:58 | * | jonathon quit (Quit: Quit) |
11:38:18 | * | akiradeveloper quit (Remote host closed the connection) |
11:41:26 | * | banister joined #nim |
11:41:32 | * | banister quit (Client Quit) |
11:42:00 | * | endragor joined #nim |
11:42:22 | * | banister joined #nim |
11:47:44 | * | Ven joined #nim |
11:50:52 | * | thotypous quit (Quit: WeeChat 1.2) |
11:51:14 | * | thotypous joined #nim |
12:15:46 | * | BlaXpirit quit (Quit: Quit Konversation) |
12:19:42 | * | endragor quit (Remote host closed the connection) |
12:24:12 | * | endragor joined #nim |
12:26:17 | * | akiradeveloper joined #nim |
12:33:41 | * | gokr_ joined #nim |
12:33:52 | * | endragor quit (Remote host closed the connection) |
12:33:58 | fowl | I'm working on a new composition framework that lets you define dynamic components and static components (Nim types) |
12:44:24 | * | gokr_ quit (Ping timeout: 245 seconds) |
12:44:53 | * | gokr_ joined #nim |
12:56:17 | * | wan quit (Quit: WeeChat 1.2) |
13:05:41 | * | gokr_ quit (Read error: Connection reset by peer) |
13:05:58 | gokr | fowl: Hum? |
13:18:28 | * | tamtaradam joined #nim |
13:21:28 | tamtaradam | Hello everyone! Can someone explain to me what is "dynamic dispatch" and what diffs than procs and methods in nim. May be someone know some articles about this. In offical documentation i found very small information about this themes, |
13:23:58 | Araq | tamtaradam: just don't use dynamic dispatch :P |
13:24:03 | * | Gordin joined #nim |
13:24:50 | gokr | tamtaradam: I write about it in my OO article series at http://goran.krampe.se/category/nim |
13:25:49 | gokr | Basically procs resolve statically (what comile time types you have for your arguments) and methods resolve during runtime (what types your arguments *actually* have when the call is about to be made). |
13:26:39 | * | strcmp1 joined #nim |
13:27:48 | tamtaradam | Gordin, thank you. I will read it. |
13:28:42 | tamtaradam | Gokr, it means, that compiler don`t know wat types of arguments i will send to method? |
13:29:56 | gokr | tamtaradam: Basically it means that you may have a variable of type ref Fruit (that can hold Apples and Oranges) and when you make the call - what do you actually have? At compile time we don't know, at runtime we do. |
13:31:03 | gokr | So at compile time - the compiler just sees that ok, the argument here is a Fruit, and it picks a proc based on that. But if its a method we refer to - then the compiler will insert code that does the final resolution of which method to call - at runtime. |
13:31:38 | gokr | A shorter answer is "yes". ;) |
13:34:13 | * | Guest58846 joined #nim |
13:35:42 | Guest58846 | hi all. how build-bot determines the tests result? `./koch tests` return code looks like always success. I opened issue about it on tracker https://github.com/Araq/Nim/issues/2793 |
13:36:20 | tamtaradam | Thank you, gokr. You very good explainer :) |
13:37:35 | gokr | tamtaradam: You can see more code and talk regarding methods in part III of the OO articles. Feel free to give me feedback on the whole series though. |
13:38:46 | gokr | I think the gist of it is that Nim offers several mechanisms (regular static resolution of procs, generics, methods, concepts) and... it may be a bit confusing to decide what to use. |
13:39:55 | * | Guest58846 is now known as avsej |
13:40:24 | * | avsej is now known as Guest11785 |
13:40:54 | * | Guest11785 is now known as avsej_ |
13:40:57 | * | avsej_ quit (Changing host) |
13:40:57 | * | avsej_ joined #nim |
13:47:26 | * | jsjoberg_ quit (Quit: WeeChat 0.4.1) |
13:48:10 | dddddd | gokr, I think you have a typo in """out before the end of 2014""" at /nim-and-super/. |
13:48:42 | gokr | ok... |
13:49:33 | gokr | Ah :) |
13:49:49 | gokr | It kinda shows that I started writing that post way before publishing it :) |
13:50:14 | gokr | Or perhaps I was actually ... thinking of 1.0 |
13:50:28 | gokr | yeah, think so |
13:54:28 | gokr | dddddd: I am fixing that paragraph, in fact, procCall was included in 0.11.2. |
13:54:50 | * | saml_ joined #nim |
13:54:52 | pigmej | reactormonk: so that nimsuggest issue was quite trivial? |
13:55:14 | dddddd | Thanks, gokr. |
14:05:39 | Araq | Guest95994: I don't know. I usually look at the results |
14:14:55 | * | ozra joined #nim |
14:22:18 | * | BlaXpirit joined #nim |
14:24:00 | * | jj2baile quit (Ping timeout: 276 seconds) |
14:24:40 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:26:33 | * | taesoo joined #nim |
14:26:38 | * | jj2baile joined #nim |
14:28:48 | * | [CBR]Unspoken joined #nim |
14:32:15 | * | milosn joined #nim |
14:33:37 | * | kumul joined #nim |
14:39:14 | * | xificurC joined #nim |
14:44:40 | * | gokr quit (Quit: Leaving.) |
14:49:25 | * | akiradeveloper quit (Remote host closed the connection) |
14:51:30 | * | gokr_ joined #nim |
14:52:38 | * | gokr joined #nim |
14:56:01 | * | gokr_ quit (Ping timeout: 258 seconds) |
14:58:27 | avsej_ | Araq, but for automation tools, like RPM builder, I want to know if the package considered stable or not |
14:59:20 | avsej_ | there is a %check macro in rpmspec, where people usually put something like `make test` which can return non-zero code if something broken, and so whole package build will be failed |
14:59:25 | * | avsej_ is now known as avsej |
15:00:09 | * | taesoo quit (Ping timeout: 240 seconds) |
15:01:01 | Araq | the package is considered stable when it's actually built from a release |
15:01:58 | avsej | :) I meant stable enough to try it |
15:02:14 | Araq | it's always stable enough to try it |
15:02:15 | flaviu | avsej: As a workaround, `./koch test; return 1` :P |
15:02:38 | Araq | nobody cares about failiing tests because you happen to not have installed Boehm's GC |
15:03:07 | avsej | that's is good observation, thank you |
15:03:22 | avsej | is it possible to run tests from json.nim for example? |
15:03:31 | avsej | using ./koch command |
15:04:10 | flaviu | You could probably set up a shell script to go through all the modules in lib/pure/ and compile and run them. |
15:04:36 | Araq | flaviu: that's what "tester cat lib" does |
15:05:13 | avsej | i tried `cat json` but it does not work, at least does not fail like when I run everything |
15:05:44 | Araq | but i don't get it. so when "nim c logging" fails, you claim the installation is worthless for everybody? but chances are high that I don't use this module |
15:06:51 | avsej | what the point of having test suite then? |
15:07:05 | Araq | it's for *development* not *installation*. |
15:07:26 | shevy | does nim have a "standalone" logo? ruby has a logo like this http://goo.gl/kqVb8g, python has a logo like that https://goo.gl/odpc1v |
15:07:42 | strcmp1 | a crown.. |
15:07:50 | shevy | a jester's crown? |
15:07:53 | shevy | :-) |
15:07:58 | strcmp1 | a king's |
15:08:06 | strcmp1 | it was named after a king at first |
15:08:09 | flaviu | shevy: https://github.com/nim-lang/assets/tree/master/Art |
15:08:25 | Araq | I never run any tests after installation, it makes no sense. Instead I *use* the installed program and will see soon enough wether it works for what I want it to do, or whether it doesn't. |
15:08:26 | shevy | hehe |
15:08:42 | shevy | well "nim" as a word is better I think; only 3 chars; and it can mean "nimble" and "nimrod" now :D |
15:09:11 | shevy | flaviu I see, thanks |
15:09:14 | flaviu | shevy: You probably want one either logo-monochrome-black or logo-simple |
15:09:52 | shevy | yeah I think I'll go with the favicon.ico one actually; I wanted to have a favicon for the tabs in my firefox, it helps me identify what is where when there are many tabs |
15:09:55 | avsej | i'm trying to build rpm repository so that I will always have recent binary build installed which passes the test suite, so I can use stdlib with some confidence |
15:10:26 | flaviu | Araq: contributors.txt seems to be missing quite a few names |
15:10:41 | avsej | Araq, regarding GC, all I need is to install gc headers and all? is there any specific version requirements? |
15:10:55 | avsej | I haven't seen it in readme and it didn't complain during the build |
15:10:57 | flaviu | Perhaps it'd be a better idea to tell people to use git shortlog -s -n instead? |
15:11:12 | Araq | avsej: not my point. |
15:11:33 | Araq | boehm is an optional GC that you can use via --gc:boehm. |
15:11:41 | Araq | now of course we do have tests for that |
15:12:02 | avsej | that's clear, but I can see some other tests failing |
15:12:27 | avsej | in general library like json, should not care if compiler linked with gc or not, right |
15:13:35 | Araq | right |
15:14:31 | * | gsingh93 joined #nim |
15:14:42 | Araq | but if you want *some* testing, nothing beats bootstrapping |
15:16:41 | avsej | does anybody works on fixing Linux-x86_64 tests at the moment? |
15:16:50 | avsej | they broken for a couple of weeks already |
15:16:50 | * | d33tah quit (Ping timeout: 246 seconds) |
15:16:58 | avsej | I have 64bit and tests failing here |
15:17:52 | shevy | hmm... nimrod-0.9.2.tar.xz was 4.3M in size ... nim-0.11.2.tar.xz is 2.5M in size |
15:18:07 | Araq | "broken" in what sense? |
15:18:11 | * | xcombelle joined #nim |
15:19:11 | avsej | badge in readme says "Retry" |
15:19:24 | avsej | there are a lot of pending builds without any state |
15:19:36 | ozra | Hi folks |
15:19:36 | avsej | seems like the build slave is offline or something like this |
15:20:04 | avsej | Araq, http://buildbot.nim-lang.org/builders/linux-x64-builder |
15:20:06 | * | gokr_ joined #nim |
15:20:57 | Araq | gokr_: your builder is offline |
15:21:15 | avsej | well not couple of weeks, 10 days |
15:21:54 | * | gokr quit (Ping timeout: 245 seconds) |
15:22:37 | * | vendethiel quit (Ping timeout: 264 seconds) |
15:23:34 | avsej | Araq, btw exit code issue also applicable to buildbot |
15:23:35 | avsej | http://buildbot.nim-lang.org/builders/linux-x32-builder/builds/432/steps/Run%20Testament/logs/stdio |
15:23:47 | avsej | you see? test errors, but status is green |
15:24:17 | avsej | in general buildbot is only testing compilation |
15:25:01 | Araq | "test errors"? *some* tests are not green. |
15:25:49 | avsej | so failed test does not mean build failure, correct? |
15:26:09 | flaviu | All of `koch test cat lib` is green for me. |
15:26:11 | * | vendethiel joined #nim |
15:27:01 | avsej | flaviu, even json? |
15:27:16 | flaviu | yep, json is green. |
15:27:19 | Araq | and for instance 'sexp.nim' is a new test. reactormonk hasn't made it green yet. This is the nature of a development version. |
15:27:32 | * | saml_ quit (Quit: Leaving) |
15:27:37 | avsej | it is failing here https://gist.github.com/avsej/cd9c0bce92abb19296a9 |
15:28:04 | Araq | that too is a new test |
15:28:58 | avsej | okay, so you guys are actually reading test reports, and track all new tests. you super, I want to be like you :) in my experience I usually read reports if something fails |
15:29:00 | flaviu | avsej: What commit are you on? I'm on 71561be. |
15:29:08 | ozra | Trying to aquaint myself with the nim source. identifiers can have Unicode chars, right? So, why is arg to "cmpIgnoreStyle" cstring? What am I missing. |
15:29:16 | avsej | 4702b5f5c |
15:29:46 | avsej | flaviu, updated, let me try it once again |
15:30:05 | flaviu | huh, 4702b5f5c works for me. |
15:30:09 | avsej | no, json still fails |
15:30:16 | avsej | flaviu, what os are you using |
15:30:40 | flaviu | Linux x86_64 |
15:30:44 | flaviu | You? |
15:30:47 | avsej | me too |
15:30:49 | avsej | fedora 21 |
15:30:52 | pigmej | avsej: csources ? |
15:30:55 | pigmej | I have fedora also |
15:30:57 | pigmej | and works |
15:31:02 | pigmej | avsej: what gcc? |
15:31:12 | pigmej | gcc (GCC) 4.9.2 20150212 |
15:31:13 | avsej | '15724e2e1f3e7749d508dfcd995e84fea2850802' |
15:31:26 | avsej | 4.9.2 20150212 |
15:31:56 | * | anthgur joined #nim |
15:32:04 | Araq | ozra: cstring can deal with utf-8 just fine |
15:32:15 | flaviu | avsej: Is your working tree dirty? I can't even find that test that's failing. |
15:33:02 | avsej | no, it is not dirty. I also curious why it does not put some caller in the stack trace |
15:33:10 | avsej | system.nim(2285) sysFatal |
15:33:10 | avsej | Error: unhandled exception: peekLine(ss) == "uick brown fox jumped over the lazy dog." [AssertionError] |
15:33:14 | avsej | this is last line |
15:33:25 | flaviu | Ah, I see. I have to pass `-d:testing` to get it to fail. |
15:34:51 | avsej | I used ./koch tests |
15:35:23 | flaviu | So the problem is that the streams tests are being run at the same time as the json tests. |
15:35:25 | avsej | there no "brown fox" in the whole project |
15:35:41 | * | egrep quit (Quit: Restarting...) |
15:35:59 | ozra | Araq: Silly me, ofc. they've made the encoding c-string compat! Thanks. |
15:36:16 | avsej | flaviu, how it that possible? |
15:36:49 | avsej | tests are running in parallel and using shared memory? |
15:36:51 | flaviu | avsej: streams has "when defined(testing)", not "when isMainModule and defined(testing)" |
15:37:18 | * | milosn quit (Read error: Connection reset by peer) |
15:37:21 | flaviu | Actually, I'm not sure what the point of "defined(testing)" is. |
15:37:28 | * | milosn joined #nim |
15:38:06 | avsej | but i didn't defined testing explicitly |
15:38:40 | avsej | flaviu, btw json test fails standalone |
15:38:43 | flaviu | but I think ./koch tests does it for you. |
15:38:47 | avsej | https://gist.github.com/avsej/cd9c0bce92abb19296a9 |
15:39:06 | flaviu | avsej: That flag is defined at compile time, not runtime. |
15:39:20 | flaviu | recompile json manually without the flag |
15:40:14 | * | brson joined #nim |
15:40:35 | avsej | after recompilation it works |
15:40:47 | gokr_ | Araq: Will check builder when I am back home |
15:41:00 | Araq | gokr_: sure no worries |
15:41:22 | * | darkf quit (Quit: Leaving) |
15:41:44 | * | egrep joined #nim |
15:41:52 | flaviu | BlaXpirit: Are you in here? |
15:41:57 | avsej | so you guys running test slaves on your home computers? |
15:41:58 | BlaXpirit | hi |
15:42:09 | flaviu | How does defined(testing) work? |
15:42:28 | * | taesoo joined #nim |
15:42:42 | BlaXpirit | nim test suite defines it and runs everything in stdlib |
15:42:47 | BlaXpirit | or something like that |
15:43:16 | BlaXpirit | flaviu, https://github.com/Araq/Nim/pull/2583 |
15:43:23 | Araq | avsej: things were much better when we still had "nimbuild" |
15:44:00 | avsej | what is nimbuild? |
15:44:00 | flaviu | BlaXpirit: Ah, I see. |
15:44:28 | flaviu | avsej: custom CI tool for nim. |
15:44:41 | flaviu | Well, for the nim compiler and stdlib |
15:44:50 | pigmej | avsej: s/is/was/g |
15:45:36 | avsej | :) |
15:45:40 | Araq | flaviu: it's just another --define |
15:46:10 | avsej | Araq, so on release tag, tests should pass? |
15:46:23 | flaviu | Araq: Yep, but I wasn't sure how it worked. I didn't realize that some modules in the stdlib had example code behind when isMainModule |
15:47:53 | * | Ven joined #nim |
15:47:55 | Araq | avsej: they should but don't. but that's just because I'm too lazy to mark the failing tests as "disabled". |
15:49:09 | xcombelle | hey I did my first real program in nim and it was fun |
15:49:48 | pigmej | xcombelle: what is this ? |
15:50:17 | xcombelle | pigmej, what do you mean ? |
15:50:26 | Araq | marking failing tests as "disabled" sucks because then they stay disabled for good. we need some alternative marker |
15:51:09 | Araq | something like "failing acknowledged, but keep trying" |
15:51:16 | pigmej | the program xcombelle :) |
15:51:25 | flaviu | Araq: Reenable all disabled tests after every release. |
15:51:45 | xcombelle | it's the basics for an IA which play go |
15:52:17 | Araq | flaviu: perhaps |
15:52:31 | flaviu | Or maybe you're looking for regression tracking. Tooling could be made to do that. |
15:52:36 | xcombelle | but I don't know if it will be sucessful |
15:54:03 | xcombelle | The only point which don't look good in my program is that apparently for default object constructor and object variant constructor, the fields names are mandatory |
15:54:29 | avsej | Araq, and propagate failures as error code to be use by external tools |
15:54:42 | avsej | like buildbot or my package builder :) |
15:56:00 | * | jbomo joined #nim |
15:56:08 | * | vmeson joined #nim |
15:56:48 | * | justicefries joined #nim |
15:57:40 | flaviu | readLine*(s: Stream, line: var TaintedString): bool and proc readLine*(s: Stream): TaintedString have different implementations. |
15:57:56 | avsej | you have very strange .gitignore https://github.com/Araq/Nim/blob/devel/.gitignore#L1-L3 |
15:58:11 | avsej | ag (the_silver_searcher) goes crazy |
15:58:14 | flaviu | avsej: yep. |
15:58:17 | avsej | it ignores everything |
15:58:22 | flaviu | I've been meaning to send in a PR to ag. |
15:58:46 | flaviu | Try using ack for now. |
15:58:49 | avsej | i would love to test your patch |
15:58:55 | avsej | pt works |
15:59:18 | avsej | but my emacs integrated with ag, i lazy to reconfigure it now :) |
15:59:22 | flaviu | avsej: Well, it hasn't been written yet :P |
15:59:32 | avsej | ping me if you will |
16:01:28 | * | tamtaradam quit (Ping timeout: 246 seconds) |
16:27:12 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:29:49 | * | OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
16:32:13 | * | shevy left #nim ("I'll be back ... maybe") |
16:35:50 | * | Jesin joined #nim |
16:37:51 | * | kumul quit (Quit: Leaving) |
16:40:58 | * | OnO joined #nim |
16:42:22 | ozra | Anyone, off the top of the head know why I get this: "lib/system.nim(2590, 7) Error: invalid pragma: discardable" ? The only mods I've made to compiler-src is add some echo's to examine the flow a bit.. |
16:43:19 | * | Senketsu quit (Read error: Connection reset by peer) |
16:43:20 | ozra | (I get it when running the modded compiler) |
16:43:44 | * | Senketsu joined #nim |
16:48:16 | * | gokr joined #nim |
16:51:53 | ozra | Araq: does above error ring a bell for you, ie something common? Just trying to get my head around the compiler a bit.. |
16:54:50 | * | BitPuffin|osx quit (Ping timeout: 246 seconds) |
16:58:26 | * | boydgreenfield joined #nim |
17:00:22 | avsej | is there index of all procs from stdlib? |
17:04:58 | ozra | flaviu: I'm stuck here trying to get to know the compiler.. Do you have any idea what the error could mean above? Also, I now removed some of the echo's, and get: "tests/system/alloc.nim(4, 1) Error: undeclared identifier: 'assert'" - these seemingly wildly unrelated errors (when running the compiler on a very simple test source) confuse me. Is it some simple stupid thing? |
17:06:22 | flaviu | ozra: What happens if you use stdout.write instead? |
17:07:06 | flaviu | I think that echo needs some additional machinery that isn't available in certain sections. |
17:07:09 | Trustable | Hello guys, I have a question: How can I sort a table? What are the parameter types for the cmp proc? What means x,y: (A, B)? |
17:07:55 | flaviu | avsej: http://nim-lang.org/docs/theindex.html |
17:09:09 | * | anthgur quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
17:09:48 | ozra | flaviu: Aha, ok, I'll try that. Is GC stuff of limits in compiler, something to think about? |
17:09:56 | ozra | _off_ |
17:10:19 | flaviu | ozra: yep, the GC is probably going to be tricky to work with. |
17:10:31 | flaviu | You can't allocate GC'd memory in the GC :P |
17:11:06 | * | gsingh93 quit (Ping timeout: 256 seconds) |
17:11:30 | ozra | flaviu: Though, now I've commented out all my mods and still get the assert error - when running it, not when compiling the compiler.. |
17:11:59 | flaviu | Sounds like progress :) |
17:12:08 | flaviu | Look at git diff, see if you've missed something. |
17:12:22 | ozra | confused.. I've probably done something stupid.. I'll diff.. I'm using ./koch temp for compiling the piler - is that the right procedure? |
17:13:05 | flaviu | That's fine for testing, but make sure to run ./koch boot before sending a PR. |
17:13:16 | flaviu | You want to make sure you haven't broken bootstrapping. |
17:13:31 | avsej | flaviu, is there some public link which points to THEINDEX? |
17:14:14 | flaviu | avsej: http://nim-lang.org/documentation.html#search-options |
17:15:36 | * | boydgreenfield quit (Quit: boydgreenfield) |
17:16:07 | ozra | flaviu: totally. I'm just playing around now, I aim to go mayhem on it just to get a fuller understanding of its internals, and then wipe my playground, but right now, I'm just trying to add in traces to get the flow. Hmm, I'm running "./compiler/nim c tests/my_small_test.nim" - is there a problem with running nim this way? What about stdlib path etc.? |
17:16:15 | avsej | thanks |
17:16:45 | * | Ven joined #nim |
17:17:14 | * | kumul joined #nim |
17:17:32 | * | Ven quit (Client Quit) |
17:18:15 | flaviu | ozra: I don't see why that would be a problem. Keep in mind that koch temp outputs a bin/nim_temp. |
17:25:23 | * | boydgreenfield joined #nim |
17:26:51 | ozra | Ahaaaa! That's it. haha. so I should use "bin/nim_temp", not "compiler/nim"! |
17:27:16 | ozra | Nah, same thing.. assert.. |
17:30:23 | * | banister quit (Read error: Connection reset by peer) |
17:30:43 | * | banister joined #nim |
17:34:48 | * | bassa quit (Read error: Connection reset by peer) |
17:35:37 | * | bassa joined #nim |
17:36:35 | dhasenan | When will I learn? I updated to the latest revision of nim-devel without recording what revision I was on before. |
17:42:07 | * | boydgreenfield quit (Quit: boydgreenfield) |
17:42:42 | * | pregressive joined #nim |
17:43:15 | flaviu | dhasenan: reflog! |
17:43:38 | dhasenan | Or identifying the actual problem: that I wasn't building Nim right. |
17:47:22 | * | filcuc joined #nim |
17:47:59 | * | banister quit (Ping timeout: 264 seconds) |
17:54:17 | * | gokr quit (Quit: Leaving.) |
17:57:14 | * | Demon_Fox joined #nim |
17:57:36 | flaviu | avsej: ping! https://github.com/flaviut/the_silver_searcher/tree/libgit2-gitignore |
17:58:10 | flaviu | It depends on libgit2, and I can't figure out autotools so you'll have to use `CFLAGS=' -lgit2' ./configure` to configure. |
17:59:26 | ozra | Should "csources" be put in .gitignore?? |
17:59:50 | flaviu | actually, never mind. Looks like I messed up that patch. |
18:00:53 | ozra | flaviu: I get untracked mods on csources.. How to handle in a good fashion? |
18:01:27 | flaviu | ozra: I just ignore them. |
18:01:42 | * | banister joined #nim |
18:01:51 | flaviu | They don't show up when I stage files for some reason, so it doesn't get in the way. |
18:01:54 | ozra | Hmm, so I just push even though it's in the commit message? |
18:03:25 | flaviu | It shows up as an unstaged entry in my commit message. |
18:03:47 | flaviu | https://gist.github.com/anonymous/2ec6a109f33f7c8d425e |
18:04:18 | ozra | Ok. Then I'm good. Thanks |
18:06:03 | ozra | dom96: If you're around, I fixed the commented stuff in the PR |
18:06:21 | dom96 | ozra: Thanks. I'll take a look at it later. Busy at the moment. |
18:06:27 | ozra | Cool. |
18:09:36 | sdw_ | I'm having some trouble getting nimble to work. I'm trying to compile and run a glfw3 example: https://github.com/rafaelvasco/nimrod-glfw |
18:09:38 | avsej | flaviu, I configured emacs to use platinum searcher which seems like handling this issue https://github.com/monochromegane/the_platinum_searcher/blob/master/gitignore.go |
18:09:45 | sdw_ | But I get this error: main.nim(1, 14) Error: cannot open 'glfw3' |
18:10:07 | flaviu | avsej: Well, I fixed my broken commit too. |
18:10:20 | sdw_ | If I compile with nim.exe will it automatically figure out what nimble packages I'm trying to use? |
18:10:23 | * | sdw_ is now known as sdw |
18:10:24 | * | sdw quit (Changing host) |
18:10:24 | * | sdw joined #nim |
18:10:27 | * | UberLambda joined #nim |
18:10:32 | flaviu | pt looks cool though |
18:11:36 | avsej | flaviu, written in go and seems like challenge for nim :) |
18:13:42 | avsej | flaviu, why nimbuild has been shutdown? |
18:15:06 | ozra | flaviu: Do you have a tip: If I want to work on some optimizations on the compiler, and hence need to test changes with -O3 etc.. how would I go about it best? ./koch temp would create an un-optimized compile right? |
18:15:19 | ozra | (so I get benchmarks right) |
18:15:20 | flaviu | avsej: It stopped working and no one had time to fix it. |
18:16:19 | * | boopisaway is now known as boop |
18:16:27 | flaviu | ozra: Well, koch is open source. Feel free to change it to do whatever is most convenient. |
18:16:52 | flaviu | see lines 339..346. |
18:17:49 | ozra | Ah, yes. Just to clarify, I'm completely fresh to nim, so that's why I am asking, just want to get into the flow fast, and if there are some common ways of going about things, I can get up to speed with them. Ok. Thanks. What build file rebuilds koch if I may ask? (avoiding a little digging ;) |
18:20:02 | flaviu | ozra: Recompile koch with nim, as you would any other file. |
18:20:36 | ozra | Right, silly me. Thanks for the help man (or woman (or dog)) |
18:22:13 | sdw | If I change the line to import src/glfw3 then it works. So I guess it's a packaging issue. Is this a bug with the nimrod-glfw project or with nimble? |
18:24:06 | flaviu | sdw: Definitely a bug with nimrod-glfw. |
18:24:17 | avsej | Araq, flaviu will you accept such patch https://github.com/Araq/Nim/pull/2797 |
18:25:03 | flaviu | avsej: I'm the wrong person to ask, I think you'll have to wait until Araq comes along to get a response to that. |
18:25:41 | avsej | in what TZ are you guys btw? |
18:26:39 | flaviu | Araq is in Germany, dom96 the UK, Varriout and myself in the US |
18:26:57 | avsej | cool. I'm in Belarus (UTC+3) |
18:27:15 | flaviu | quite a few people in here are from Europe |
18:28:40 | strcmp1 | europa here too |
18:28:48 | strcmp1 | we're taking over |
18:34:40 | * | pregressive quit (Remote host closed the connection) |
18:37:16 | federico3 | Dublin here, but I'm in SF atm |
18:40:39 | strcmp1 | thats crazy federico3, i'm from dublin too |
18:41:19 | * | BlaXpirit quit (Quit: Quit Konversation) |
18:42:00 | federico3 | wtf?! We have to grab a coffee/pint sometimes |
18:42:05 | * | xcombelle quit (Remote host closed the connection) |
18:42:40 | federico3 | (2 Nim users in Dublin... Nim is more popular than ever) |
18:42:51 | strcmp1 | yeah, its quite the coincidence :) |
18:44:02 | avsej | so the biggest user group in dublin? :) |
18:44:24 | * | Jehan_ joined #nim |
18:45:43 | strcmp1 | ha probably, if there ever was a nim meetup here id definitely go |
18:45:46 | * | anthgur joined #nim |
18:47:18 | federico3 | if we reach 3 we can call it Nim World Conference 2015 |
18:50:15 | * | anthgur quit (Ping timeout: 258 seconds) |
18:55:58 | dom96 | federico3: strcmp1: I'm in Belfast :O |
18:56:09 | * | bassa quit (Read error: Connection reset by peer) |
18:56:42 | * | bassa joined #nim |
18:56:54 | dom96 | Sounds like we need to set up some sort of Nim programmer's world map. |
18:58:01 | * | UberLambda quit (Quit: Leaving) |
19:03:35 | * | kumul quit (Ping timeout: 264 seconds) |
19:03:36 | * | bassa quit (Read error: Connection reset by peer) |
19:03:40 | Araq | avsej: your PR looks good but now I wonder if that should be the default instead ... |
19:03:52 | * | bassa joined #nim |
19:04:08 | * | filcuc quit (Ping timeout: 276 seconds) |
19:06:39 | avsej | Araq, from conversation with you couple of hours ago I figured out that usually you don't care :) |
19:06:47 | avsej | moreover there are failing cases right now |
19:06:51 | Araq | but meh, it's the same problem again |
19:07:02 | dtscode | Are you guys serious about the world map? |
19:07:39 | dom96 | dtscode: I am. |
19:07:43 | avsej | and probably the way how you develop it will be influenced. like people first commit failing tests, and then fix the implementation |
19:07:48 | dtscode | :D I have an idea! |
19:07:57 | dom96 | dtscode: You going to make one? |
19:08:01 | avsej | so this is why i did it optional |
19:08:04 | dtscode | No |
19:08:10 | dtscode | But I have an idea for one |
19:08:15 | avsej | Araq, what problem you mean? |
19:08:18 | Araq | avsej: yeah, but "optional and unusable" is not an improvement |
19:08:18 | dom96 | Sounds like a fun Jester project actually. |
19:08:30 | * | dtscode left #nim ("Leaving") |
19:08:37 | * | dtscode joined #nim |
19:08:38 | Araq | avsej: the old nimbuild would give us the *diff* between test runs |
19:08:51 | Araq | which is exactly what we're interested in |
19:09:02 | avsej | this is why you put results into sqlite? |
19:09:10 | Araq | aye |
19:09:26 | avsej | but fail/pass general result also usable |
19:10:09 | avsej | and if it will be mandatory, my PR will be blocked while we have failing tests in the development branch |
19:10:11 | * | gokr_ quit (Read error: Connection reset by peer) |
19:10:43 | Araq | avsej: IME keeping this stuff 100% accurately up to date is unreasonably expensive |
19:11:04 | avsej | that's true |
19:11:06 | Araq | you can do these stunts when you're Rust with a couple of million dollars behind its development |
19:11:45 | avsej | but as OS user I'd like to have a bit more frequent update development channel, not really daily but more often than official releases. |
19:12:24 | Araq | and the diff gives you the same information for free with no additional maintenance costs |
19:12:44 | avsej | not really |
19:13:13 | avsej | I configured yum-cron on my system so that I can assume I have rather fresh ruby/python etc |
19:13:21 | avsej | and I'd like the same for nim |
19:13:34 | avsej | but with some confidence |
19:13:41 | Araq | make the tester smarter then |
19:13:45 | dom96 | dtscode: What's your idea? |
19:13:57 | avsej | Araq, what do you mean? |
19:14:03 | * | biscarch quit (Quit: Connection closed for inactivity) |
19:14:05 | avsej | my package need only green/red status |
19:14:19 | Araq | start with "category lib is critical but other tests are not" |
19:14:33 | avsej | it is simple |
19:14:51 | avsej | ./koch tests --pedantic lib |
19:14:58 | Araq | yes but with your current PR it's always red. |
19:15:07 | Araq | not much use in that. |
19:15:15 | avsej | no, --pedantic is false b |
19:15:16 | Araq | oh I see |
19:15:18 | avsej | by default |
19:15:45 | dtscode | dom96: Oh sorry. was helping with some c++ code |
19:16:29 | avsej | so there might be three channels: stable, dev (--pedantic all), unstable (--pedantic lib) |
19:16:31 | Araq | avsej: so you restrict your checks to the "lib" category? |
19:17:00 | avsej | right now I'm going to help with fixing lib tests, because they also will be red :) |
19:17:05 | dtscode | So you have a form or a map or something on the site, and users can enter where they are, but to prevent spam a bit, they have to get a verification code from something like IRC (I'm stealing all of this from Linux Mint but oh well) |
19:17:11 | * | gokr joined #nim |
19:22:26 | Araq | avsej: well your attitude is refreshing. I commented on your PR. |
19:24:34 | avsej | fixed |
19:24:49 | * | OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
19:26:07 | * | OnO joined #nim |
19:27:14 | * | OnO quit (Client Quit) |
19:31:48 | * | shodan45 joined #nim |
19:33:32 | dom96 | dtscode: I think a cooler way would be to integrate with Github |
19:33:39 | Araq | avsej: so ... did you test your PR? :P |
19:34:03 | dtscode | dom96: Ah fair enough |
19:36:33 | * | johnsoft quit (Ping timeout: 250 seconds) |
19:36:42 | * | intra quit (Ping timeout: 272 seconds) |
19:36:53 | avsej | Araq, yes, but I think I will quit with QuitFailure instead of number of failures because number might be wrapped and become zero :) |
19:37:40 | Araq | yeah that's a good idea |
19:40:06 | * | filcuc joined #nim |
19:41:10 | federico3 | dom96, dtscode: it sounds like a "<country_name> <city_name> <nickname>" CSV file would suffice. I wonder if there's any quick way to render the map |
19:42:41 | dom96 | federico3: But yeah. I played with the idea of creating a Nim user group here in Belfast, if you would be willing to travel to it then I would totally set it up. |
19:42:52 | avsej | Araq, okay. now I'm ready. tested and code looks good to me |
19:43:04 | Araq | avsej: already merged ... |
19:44:22 | * | TEttinger joined #nim |
19:45:01 | * | Ven joined #nim |
19:46:45 | avsej | federico3, maybe something with d3js? http://datamaps.github.io/ |
19:47:21 | avsej | Araq, what the difference between master and devel branches? |
19:47:21 | federico3 | I was hoping in something more ready to use |
19:47:52 | Araq | avsej: devel is for development, master is stable |
19:48:03 | Araq | tell me you made your PR against devel ... |
19:48:19 | Araq | ah yeah |
19:48:25 | avsej | :) |
19:48:28 | avsej | federico3, http://geojson.io/ |
19:48:37 | avsej | and then put it in to gist on github |
19:50:06 | avsej | federico3, looks like this https://gist.github.com/avsej/a403811cb6eae5ad4416 |
19:54:16 | avsej | looks like geojson backend of github is not accessible at the moment. but http://geojson.io/ accessible and allows to share in variety forms |
20:01:02 | avsej | Araq, another PR https://github.com/nim-lang/csources/pull/17 |
20:01:50 | Araq | avsej: ok, can we get rid of the git submodule thing already? |
20:02:29 | * | BitPuffin|osx joined #nim |
20:02:39 | avsej | what do you mean? I don't know. As far as I see you have added it recently |
20:02:57 | Araq | yeah but i was drunk when I merged that |
20:03:03 | avsej | :) |
20:03:38 | avsej | ah, okay whatever. I just don't like the git tells me that I have modified files |
20:03:53 | avsej | it if will be checkout by the build script, it is okay |
20:04:06 | avsej | as far as it will be in .gitignore in the nim repo |
20:05:29 | dom96 | Araq: yeah, remove git submodule |
20:05:43 | dom96 | it will break as soon as the C Source repo is reset |
20:07:21 | avsej | or you can set submodule to c2c13f5a60dc635d1a9746e630cfb127348430cb |
20:07:30 | avsej | now it will also satify me :) |
20:15:23 | * | brson quit (Ping timeout: 265 seconds) |
20:18:27 | federico3 | avsej: that's brilliant |
20:22:45 | * | vmeson quit (Ping timeout: 246 seconds) |
20:25:47 | ozra | avsej: I'm in sweden (+1) |
20:25:50 | avsej | what the reason of rendering stacktrace like streams.nim(459) versus streams.nim:459? The latter is quite copy-pasteable in gdb for example |
20:27:20 | ozra | Anyone save me some digging while I'm learning?: will 'cstring(someNimString)' make a copy or a wild and crazy ref/ptr? |
20:28:29 | Araq | avsej: nim uses filename(line, colum) cause that's what borland/FPC etc also use |
20:28:51 | Araq | ozra: no copy is made |
20:29:02 | avsej | Araq, are you using borland? |
20:29:11 | Araq | not anymore |
20:29:20 | avsej | :) time to change? |
20:29:51 | Araq | no, file:line:col is ugly as fuck |
20:30:37 | ozra | Araq: sweet. |
20:30:59 | Araq | (x, y) is a coordinate, :x:y is nothing. |
20:32:51 | avsej | is your editor able to jump to such location? |
20:37:56 | ozra | Don't like deviations from commonly used formattings when there's no real reason and all it does it makes life harder ( f:r:c vs f(r,c) ) |
20:37:57 | federico3 | avsej: ...but it's nothe enough |
20:39:57 | Araq | avsej: yes it is |
20:41:51 | avsej | what editor do you use? |
20:46:57 | gokr | ozra: Sweden? Where? |
20:52:54 | avsej | Araq, is there description of strange escape codes like this https://github.com/Araq/Nim/blob/devel/lib/pure/streams.nim#L256 |
20:52:57 | avsej | \c and \L |
20:53:15 | avsej | are they \r and \n? |
20:53:17 | Araq | CR and LF? |
20:53:34 | avsej | also because of borland? |
20:53:54 | avsej | or from what language? |
20:54:26 | * | dhasenan quit (Read error: Connection reset by peer) |
20:55:23 | Araq | I think these are my own inventions |
20:56:03 | avsej | okay is there full list of escape codes? |
20:56:05 | * | dhasenan joined #nim |
20:56:13 | * | dhasenan quit (Remote host closed the connection) |
20:57:18 | Araq | is there a language manual? |
20:58:22 | * | kumul joined #nim |
21:00:04 | avsej | found it |
21:00:32 | avsej | i thought that newline is a linefeed |
21:00:41 | avsej | isn't it the same in nim? |
21:00:50 | * | dhasenan joined #nim |
21:01:20 | avsej | in the table they are in the different rows http://nim-lang.org/docs/manual.html#lexical-analysis-string-literals |
21:03:09 | avsej | test.nim(2, 22) Error: \n not allowed in character literal |
21:03:26 | avsej | does it mean that \n is alias for windows new line? |
21:05:14 | avsej | Araq, ? |
21:05:14 | * | kumul quit (Ping timeout: 245 seconds) |
21:05:40 | Araq | avsej: on windows it's CR-LF on unix it's LF |
21:06:44 | avsej | so it should be avoided in nim if I would like to write portable program? |
21:07:05 | avsej | because files created on windows might not be readable on linux |
21:07:15 | avsej | or nim handles it under the covers? |
21:07:37 | avsej | if so why streams written like this to read line? https://github.com/Araq/Nim/blob/devel/lib/pure/streams.nim#L256 |
21:08:07 | ozra | gokr: Lysinge, outside of Örebro |
21:08:31 | gokr | ozra: Nice, I am 30 km north of Stockholm, Åkersberga |
21:08:34 | Araq | avsej: to ensure that Nim can read files which use whatever line ending |
21:08:44 | ozra | Hej pårej! haha |
21:08:49 | gokr | Tjaba ;) |
21:09:41 | avsej | that's clear, but what is the use case of "\n"? |
21:09:47 | ozra | gokr: Är det du som skrivit bloggen om Nim OOP btw? |
21:10:00 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:10:02 | ozra | swedish:off |
21:10:03 | flaviu | hmm, so with a certain amount of indirection, "\n" != "\n". |
21:10:09 | gokr | ozra: You mean goran.krampe.se? Yep |
21:10:21 | def- | avsej: to write a newline that actually works on your system |
21:10:26 | * | banister quit (Read error: Connection reset by peer) |
21:10:44 | ozra | gokr: Alright. Thanks for the articles! |
21:11:02 | gokr | ozra: I wrote those articles while I was exploring if Nim could do "regular OO" in a decent enough way. I came to the conclusion, that yes, it can. |
21:11:11 | avsej | def-, when you need to write new line? when writing to the socket? on the other end might be linux, writing to file? that again could be read by linux |
21:11:12 | gokr | ozra: And then we hired Araq ;) |
21:11:47 | avsej | writing to terminal? but this could be handled by driver of terminal (i guess) |
21:11:53 | ozra | gokr: Haha, ok. Awesome, for Nim dev, or mixture. I like hearing there's funding supporting it :) |
21:12:12 | avsej | usage of \n makes program not very portable, doesn't it? |
21:12:37 | gokr | ozra: Yeah, we are working Nim into our codebase - and so far so good. |
21:12:42 | ozra | avsej: agree, sound scary.. |
21:12:47 | avsej | in other languages \n is linefeed, \r is carriage return |
21:12:57 | avsej | and you can combine them for windows |
21:13:12 | federico3 | dom96, strcmp1, avsej: being able to find Nim users in the same city is more important than a fancy map. I suggest a wiki page where people can list their name after a <country>, <city> header. We might be able to parse it and build a map in future |
21:13:57 | flaviu | I think that federico3 is right. |
21:13:58 | avsej | federico3, maybe just add Country, City field on forum profile? |
21:14:31 | ozra | gokr: I'm investigating it atm, but it's hard to keep a cool head. I'm gonna implement a system from the ground up that's iojs + primarily c++11, and got about a year to do it.. And so I wanted to take the opportunity to not have to use C++ (16 years of pain, haha). Still uncertain about the stability of Nim. But I reeeally want to use it. |
21:14:48 | flaviu | avsej: I think it's better to do it all one page. |
21:15:20 | ozra | gokr: What sw you producing? |
21:15:44 | flaviu | While it'd work if it was added to forum profiles, its more useful to query it as "find all the people in this city". |
21:16:16 | ozra | federico3: easier to search ;) |
21:16:26 | gokr | ozra: Our company is www.3dicc.com |
21:16:41 | gokr | Website kinda sucks, but the system is way cool. |
21:16:49 | federico3 | avsej: I don't have a forum profile |
21:17:12 | Araq | avsej: \n does the right thing. |
21:18:40 | flaviu | gokr: Yes, it does: https://i.imgur.com/GVI4kpY.png :) |
21:18:44 | federico3 | somebody please add a "login with github" feature to the forum :) |
21:18:55 | ozra | gokr: fancy :) |
21:20:48 | gokr | Some of the movies from inside the system is more telling: https://www.youtube.com/channel/UCy6O-Qk7G6xq4quYTO_jFPg |
21:21:11 | gokr | The system is the direct descendant from Teleplace/OpenQwaq/Croquet |
21:28:21 | avsej | how can I create empty string of 100 characters? |
21:28:45 | * | banister joined #nim |
21:28:48 | avsej | found it |
21:30:31 | ozra | gokr: Interesting stuff. I've been glancing a bit at MIT's learning/combat, AI PTSD shrink, etc. 3D based concepts. Way to go! |
21:31:15 | gokr | The immediate side product from us "going with Nim" is the Urhonimo project |
21:31:22 | * | filcuc quit (Quit: Konversation terminated!) |
21:31:35 | gokr | ozra: https://github.com/3dicc/Urhonimo |
21:32:23 | ozra | gokr: Hey perhaps you should complete your blog series with the use of the class template/macro, for interestees that would like a smaller jump from language X.. |
21:33:03 | gokr | ozra: Mmm... not sure its such a big deal. And its not "official" yet either. |
21:33:28 | gokr | ozra: More interesting though is the work from fowl - super and his interfaces. |
21:34:20 | ozra | gokr: cool I 'll check it out later - in the middle of compiler hacking (if I'm gonna use I need to modify it ;) - I'm dependant on a hoard of private ad-hoc transpilers now, which nim could probably replace a bunch of. Plus it looks almost on the spot as my toy-lang spec, haha) |
21:34:49 | ozra | pet-lang I mean.. |
21:34:55 | ozra | far from toy |
21:35:06 | gokr | ozra: It is indeed a very fun language - with lots of cool stuff in it. |
21:36:39 | avsej | Araq, are you here? https://github.com/Araq/Nim/pull/2799 |
21:37:22 | * | shodan45 quit (Quit: Konversation terminated!) |
21:38:12 | avsej | one of those bugs, exposed by failing unit tests |
21:39:06 | avsej | now ./koch tests --pedantic category lib is green |
21:39:16 | avsej | that json bug was also because of streams |
21:51:53 | * | ingsoc quit (Quit: Leaving.) |
21:55:07 | * | boydgreenfield joined #nim |
21:56:08 | * | Jehan_ quit (Quit: Leaving) |
21:56:32 | * | boop is now known as boopisaway |
22:00:22 | Araq | how so? json doesn't use peekLine |
22:07:44 | * | boopisaway is now known as boop |
22:12:20 | flaviu | Araq: A flaw in the guard for the tests in streams.nim. |
22:29:24 | * | vendethiel quit (Ping timeout: 252 seconds) |
22:40:02 | * | vendethiel joined #nim |
22:45:32 | * | boydgreenfield quit (Quit: boydgreenfield) |
22:51:17 | * | boop is now known as boopisaway |
22:52:35 | * | brson joined #nim |
22:54:48 | * | dtscode quit (Ping timeout: 258 seconds) |
22:57:08 | * | boydgreenfield joined #nim |
22:58:35 | dom96 | federico3: do it |
22:59:37 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:00:05 | federico3 | dom96: do what? |
23:00:35 | dom96 | federico3: wiki page listing where Nim users live :) |
23:00:55 | federico3 | ok |
23:02:51 | * | vendethiel quit (Ping timeout: 258 seconds) |
23:07:45 | * | dtscode joined #nim |
23:10:29 | federico3 | https://github.com/Araq/Nim/wiki/UserGroups please add yourself |
23:11:53 | ozra | since int is same width as platform pointers, all int's on my mach is 64bit, which is overkill, slower and uses more memory. What's the rationale of this decision? |
23:12:13 | dom96 | federico3: nice |
23:12:51 | ozra | Anyone know? |
23:13:09 | * | brson quit (Quit: leaving) |
23:13:28 | Crocodick | its worse with floats imo, with ints you can just truncate, with floats its completly different representation |
23:13:40 | * | boydgreenfield quit (Quit: boydgreenfield) |
23:16:57 | * | vendethiel joined #nim |
23:30:01 | * | jrenner1 joined #nim |
23:30:20 | jrenner1 | how do I add a string to a seq[string]? |
23:30:41 | jrenner1 | using mySeq.add("test") I am getting a type mismatch error |
23:31:28 | flaviu | jrenner1: Can we see your code? |
23:32:20 | jrenner1 | sure |
23:32:41 | * | akiradeveloper joined #nim |
23:33:14 | jrenner1 | let animals: seq[string] = newSeq[string](0) |
23:33:16 | jrenner1 | animals.add("hello") |
23:33:32 | jrenner1 | test.nim(4, 8) Error: type mismatch: got (seq[string], string) |
23:33:44 | flaviu | animals is not mutable. |
23:33:51 | strcmp1 | let makes animals immutable, try using 'var'. |
23:34:28 | strcmp1 | if you're new (like me), i found this to be a decent guide: https://nim-by-example.github.io/getting_started/ |
23:34:54 | flaviu | jrenner1: http://nim-lang.org/docs/system.html#add,seq[T],T |
23:35:10 | flaviu | Note how the definition is `proc add[T](x: var seq[T]; y: T)` |
23:36:48 | strcmp1 | specifically this part: https://nim-by-example.github.io/variables/ |
23:39:25 | * | vendethiel quit (Ping timeout: 256 seconds) |
23:50:25 | * | Kingsquee joined #nim |
23:55:51 | * | kumul joined #nim |
23:56:56 | * | Siecje joined #nim |
23:59:24 | * | dtscode quit (Ping timeout: 264 seconds) |