00:05:40 | * | brson quit (Quit: leaving) |
00:06:09 | * | AMorpork is now known as AFKMorpork |
00:10:10 | * | Jesin quit (Quit: Leaving) |
00:12:13 | * | Jesin joined #nimrod |
00:30:01 | * | dts|pokeball joined #nimrod |
00:31:31 | dom96_ | ldlework: yes? |
00:34:19 | * | Enum joined #nimrod |
00:35:15 | dom96_ | EXetoC: That looks pretty nice actually. More stuff needs to be white though I think. |
00:35:15 | Araq_ | hi Enum what's up? |
00:35:32 | Araq_ | dom96_: what about the news entry? |
00:35:49 | EXetoC | it was mostly about the layout though |
00:36:32 | Enum | hello, I am new to nimrod. just checking out the site |
00:36:33 | EXetoC | but the current colors are fine with some tweaking |
00:36:46 | dom96_ | EXetoC: I don't see what's different about the layout? |
00:36:56 | dom96_ | Araq_: What news entry? |
00:36:59 | EXetoC | less clutter basically |
00:37:11 | Araq_ | dom96_: you said mine was crap |
00:37:14 | EXetoC | fewer background colors |
00:37:30 | EXetoC | and nicer buttons imo |
00:39:44 | dts|pokeball | Enum, im new to nim too, and it is an awesome language. im currently writing a compiler in it |
00:40:21 | Araq_ | Enum: the site has just been updated today. :D |
00:40:38 | dts|pokeball | :D it is? |
00:41:25 | dts|pokeball | the forum looks the same |
00:41:44 | Araq_ | the website is slightly better though |
00:41:54 | Enum | i just noticed it was updated. the new design is very good |
00:42:17 | * | Araq_ sighs |
00:42:20 | Araq_ | thank you! |
00:42:28 | Araq_ | I got the feeling nobody likes it |
00:42:37 | dts|pokeball | i like it |
00:42:47 | willwillson | should you be directing people to #nim yet? |
00:42:48 | dts|pokeball | its simple, and not flashy |
00:43:25 | Araq_ | well still haven't released nim yet |
00:43:31 | EXetoC | um, where did the new design for the main page go now? |
00:45:24 | willwillson | http://nim-lang.org/community.html links to #nim though? |
00:46:27 | * | Trustable quit (Quit: Leaving) |
01:10:25 | * | Jesin quit (Ping timeout: 252 seconds) |
01:11:02 | * | Jesin joined #nimrod |
01:14:14 | * | Jesin quit (Max SendQ exceeded) |
01:14:47 | * | Jesin joined #nimrod |
01:35:02 | * | Enum left #nimrod (#nimrod) |
01:40:57 | * | MightyJoe quit (Ping timeout: 240 seconds) |
01:45:25 | * | MightyJoe joined #nimrod |
02:09:43 | * | flaviu joined #nimrod |
02:11:44 | ldlework | LETS MOVE |
02:12:24 | dts|pokeball | to? |
02:12:33 | flaviu | #nim? |
02:12:43 | flaviu | Isn't Araq supposed to set up the redirect |
02:16:28 | dts|pokeball | oh |
02:38:32 | * | q66 quit (Quit: Leaving) |
02:44:31 | ldlework | Is there a shorthand for discard? |
02:46:26 | EXetoC | no |
02:46:57 | EXetoC | there's nil, but it can't be used for that in the recent versions |
02:47:35 | EXetoC | except for object variants, which seems like a bug. discard doesn't work there |
02:55:05 | ldlework | EXetoC: any idea where there's some code to look at for learning how to use async in Nim? |
03:06:59 | * | darkf joined #nimrod |
03:28:39 | * | flaviu quit (Ping timeout: 252 seconds) |
03:43:38 | * | dts|pokeball is now known as dts |
03:43:57 | * | willwillson quit (Ping timeout: 258 seconds) |
03:44:02 | * | dts is now known as dts|pokeball |
04:44:11 | * | fowl joined #nimrod |
04:50:51 | Varriount | ldlework: nimforum is async now. |
05:17:18 | * | ARCADIVS joined #nimrod |
06:08:46 | * | khmm joined #nimrod |
06:13:06 | * | khmm quit (Ping timeout: 265 seconds) |
06:17:43 | * | khmm joined #nimrod |
06:48:38 | * | Trixar_za quit (Ping timeout: 244 seconds) |
06:52:25 | * | Trixar_za joined #nimrod |
06:53:27 | * | johnsoft quit (Ping timeout: 272 seconds) |
06:53:36 | * | johnsoft joined #nimrod |
07:05:36 | * | rpag joined #nimrod |
07:10:37 | * | gokr_ quit (Ping timeout: 240 seconds) |
07:10:51 | * | gokr_ joined #nimrod |
07:21:17 | * | jux quit (Remote host closed the connection) |
07:29:16 | * | bjz joined #nimrod |
07:38:58 | * | rpag quit (Ping timeout: 244 seconds) |
07:41:43 | ldlework | Why is "var build_registers = initTable[BuildRequest, JObject]()" giving me "rdlclone.nim(18, 46) Error: type expected" |
07:47:16 | * | gour joined #nimrod |
07:51:03 | gokr | Good morning! |
07:51:12 | * | johnsoft quit (Ping timeout: 258 seconds) |
07:52:00 | * | johnsoft joined #nimrod |
07:52:00 | * | gokr_ quit (Read error: Connection reset by peer) |
07:52:46 | gokr | Btw, if you like, feel free to link my other articles on Nim from the learn.html page. I also am collecting a few good links we can stuff in there. |
07:53:05 | * | gokr_ joined #nimrod |
07:57:19 | gokr | Araq_: On this page, a bunch of typos: http://nimrod-lang.org/learn.html ("comparible", "langues", "Documenation"). Further, I would personally change the title to simply "Learning Nim". |
07:57:24 | gokr | A bit simpler :) |
08:07:30 | * | kniteli quit (Ping timeout: 264 seconds) |
08:08:26 | ldlework | gokr: you could link my article |
08:08:58 | gokr | I am not the one with power over the website |
08:09:17 | gokr | I have no power at all in fact - except over two of the buildslaves :) |
08:09:31 | ldlework | you mentioned you were gathering a few good links |
08:09:51 | gokr | Ah, yeah, I am gathering - but haven't published yet. But your article is already in my list :) |
08:10:00 | gokr | So you need to write more. |
08:10:00 | ldlework | awesome :) |
08:10:12 | gokr | I will stuff it into my Nim page... hmmm, can do that immediately btw. |
08:10:35 | gokr | dts|pokeball: Started fiddling myself on porting PetitParser btw |
08:10:43 | gokr | Couldn't help myself. |
08:11:01 | ldlework | I am getting runtime failures with the redis client :( |
08:11:42 | dts|pokeball | w(°o°)w |
08:12:07 | dts|pokeball | you probably write better nim code than me anyways lol. could you give me the repo so i can see what you have? |
08:13:25 | gokr | Haven't set anything up yet, only started small. But will do during the day |
08:13:49 | gokr | Its interesting - how to "best" port. |
08:21:21 | gokr | Today its time: http://www.nobelprize.org/ceremonies/ |
08:22:12 | * | milosn quit (Remote host closed the connection) |
08:22:43 | * | Trustable joined #nimrod |
08:42:19 | * | yglukhov___ joined #nimrod |
08:57:51 | * | dyu joined #nimrod |
08:59:27 | * | irrequietus joined #nimrod |
09:01:11 | * | milosn joined #nimrod |
09:24:34 | gokr | Will THash also be renamed to Hash etc? I presume we just haven't had time yet |
09:33:33 | * | repax joined #nimrod |
09:36:39 | ldlework | Error: internal error: GetUniqueType |
09:36:42 | ldlework | No stack traceback available |
09:38:55 | ldlework | "Error: internal error: GetUniqueType |
09:38:57 | ldlework | No stack traceback available |
09:39:00 | ldlework | oops |
09:39:04 | ldlework | var labels = seq[string] |
09:39:11 | ldlework | ^ this seems to break the compiler? |
09:42:49 | * | ARCADIVS quit (Quit: ARCADIVS) |
09:48:19 | gokr | You need to do "var labels = newSeq[string]()" |
09:49:42 | ldlework | ah |
09:50:03 | gokr | Or "var labels: seq[string] = @[]" |
09:50:03 | ldlework | thanks |
09:50:27 | gokr | I have done the same mistake :) |
09:50:45 | ldlework | probably should clean up that error.. |
09:52:05 | ldlework | gokr: I was thinking about a stdlib module called 'sink' which would include a number of the base stdlib modules like strutils and hashes and so on and so forth |
09:52:29 | ldlework | or 'batteries' |
09:52:33 | gokr | Hehe |
09:52:53 | ldlework | I mean |
09:53:01 | ldlework | we have good deadcode detection right |
09:53:23 | gokr | I think I am going to start stuffing all my extensions into some lib - and then gradually one can see if parts go "upstream" |
09:53:52 | ldlework | I hope that flaviu can bootstrap nimlets to the point where others can contribute |
09:54:00 | ldlework | I feel like that will be a great resource |
09:54:14 | gokr | I missed that one, what is it? |
09:54:36 | ekarlso- | flaviu ? |
09:54:38 | ldlework | its a github pages site where nimfiles are parse and transformed into html pages |
09:55:13 | ldlework | so anyone can contribute tagged snippets of nim code and when it is committed it will be viewable on the searchable site |
09:55:18 | ldlework | all done statically |
09:56:00 | ldlework | ekarlso-: I think that's how you spell his name |
09:56:13 | gokr | Could be useful |
10:24:36 | gokr | Hmmm, == is interesting. |
10:34:52 | gokr | So, if I have regular ref objects, and don't define `==`*, then... it falls back on the defined `==` for refs (pointer comparison). Fine. |
10:37:43 | * | dirkk0 joined #nimrod |
10:39:04 | gokr | If I define my own `==`* then its used instead. Fine. If I then ... for some reason decide to do "a[] == b[]" I first erroneusly thought my own == would be used, but... no. |
10:40:45 | gokr | Which I can understand I think, I then have... an "object" and not the "ref object". So the methods aren't resolved anymore, since they are defined for the "ref object" type. |
10:41:41 | gokr | I guess. |
10:42:17 | gokr | So it then falls back to a "field by field" == implementation in system.nim. |
10:42:49 | gokr | But it doesn't see inherited fields. |
10:57:23 | * | erufu joined #nimrod |
10:57:29 | * | erufu left #nimrod ("WeeChat 0.3.8") |
10:57:43 | * | BlaXpirit joined #nimrod |
11:00:22 | gokr | The original question I had was basically how to check for identity. Doing "if addr a == addr b" seems .. not so neat. |
11:16:15 | * | dirkk0 quit (Quit: Leaving) |
11:16:36 | gokr | Haha... funky. So... you need to know that "self" can actually end up being nil. For example, let's say you define `==` in your Pumpkin "class". Then do "if nil == myPumpkin: yadda" |
11:17:25 | gokr | Since this is multidispatch, we end up in the right method, but self is nil, and "other" is a Pumpkin. Just as expected, but still a gotcha if you are not careful. |
11:17:37 | * | quasinoxen quit (Ping timeout: 252 seconds) |
11:17:37 | * | NimBot_ quit (Ping timeout: 252 seconds) |
11:18:00 | * | quasinoxen joined #nimrod |
11:18:01 | * | NimBot_ joined #nimrod |
11:34:05 | * | flaviu joined #nimrod |
11:52:47 | * | flaviu quit (Ping timeout: 245 seconds) |
12:02:08 | * | gokr watching Malala get the peace prize, seems finally like a proper choice. |
12:02:29 | * | AFKMorpork is now known as AMorpork |
12:15:46 | EXetoC | gokr: I think it's best not to rely on the fact that an instance might be a ref for example |
12:16:46 | gokr | You refer to the idea of making a identity shortcut check like that? |
12:17:46 | * | milosn quit (Remote host closed the connection) |
12:24:11 | * | BitPuffin joined #nimrod |
13:30:57 | * | gokr_ quit (Ping timeout: 240 seconds) |
13:31:04 | * | gokr_ joined #nimrod |
13:33:08 | * | gokr quit (Ping timeout: 258 seconds) |
13:33:09 | * | gokr_ quit (Read error: Connection reset by peer) |
13:36:25 | * | gokr joined #nimrod |
13:37:44 | * | matkuki joined #nimrod |
13:40:34 | * | matkuki quit (Client Quit) |
13:43:33 | * | Amrykid2 joined #nimrod |
13:43:36 | * | Amrykid2 is now known as Amrykid |
13:43:42 | * | Amrykid quit (Changing host) |
13:43:42 | * | Amrykid joined #nimrod |
13:56:00 | * | repax quit (Quit: Want to be different? Try HydraIRC -> http://www.hydrairc.com <-) |
14:11:56 | * | khmm quit (Ping timeout: 244 seconds) |
14:16:51 | * | khmm joined #nimrod |
14:23:34 | * | untitaker quit (Ping timeout: 245 seconds) |
14:25:53 | * | gour quit (Quit: Konversation terminated!) |
14:28:02 | * | gour joined #nimrod |
14:29:17 | * | untitaker joined #nimrod |
14:36:15 | * | gour_ joined #nimrod |
14:39:25 | * | gour quit (Ping timeout: 255 seconds) |
14:42:12 | * | lyro` joined #nimrod |
14:42:13 | * | lyro` quit (Remote host closed the connection) |
14:46:54 | * | BlaXpirit quit (Ping timeout: 245 seconds) |
14:51:43 | gokr | Araq_: Is the fields() iterator meant to operate on all inherited fields? I would guess so, but it doesn't. |
14:55:18 | * | milosn joined #nimrod |
15:22:38 | * | gour_ is now known as gour |
15:26:57 | * | khmm quit (Ping timeout: 240 seconds) |
15:38:34 | * | brson joined #nimrod |
16:14:14 | * | darkf quit (Quit: Leaving) |
16:23:17 | * | willwillson joined #nimrod |
16:29:07 | * | iprignano joined #nimrod |
16:29:27 | * | iprignano left #nimrod (#nimrod) |
16:35:21 | * | cyraxjoe joined #nimrod |
16:35:53 | * | MightyJoe quit (Ping timeout: 264 seconds) |
16:37:05 | * | rHermes|webchat left #nimrod (#nimrod) |
16:45:54 | * | CARAM_ quit (Ping timeout: 244 seconds) |
16:47:29 | * | endou_____ quit (Ping timeout: 258 seconds) |
16:54:17 | * | gour quit (Quit: Konversation terminated!) |
16:57:15 | * | rpag joined #nimrod |
16:57:47 | * | gour joined #nimrod |
17:02:31 | * | kniteli joined #nimrod |
17:17:32 | * | gour quit (Quit: Konversation terminated!) |
17:19:51 | * | gour joined #nimrod |
17:19:59 | willwillson | gokr: not sure if it should return base type fields, but you can you use the typeinfo module to get the base type and then iterate over the fields of the base type |
17:20:25 | * | rpag quit (Quit: Leaving) |
17:23:56 | * | q66 joined #nimrod |
17:33:13 | * | BlaXpirit joined #nimrod |
17:34:09 | * | milosn quit (Read error: Connection reset by peer) |
17:35:41 | * | milosn joined #nimrod |
17:40:27 | * | filwit joined #nimrod |
17:49:55 | ldlework | hello everyone |
17:50:39 | willwillson | hi |
17:51:09 | * | endou_____ joined #nimrod |
17:51:37 | EXetoC | ldlework: I've barely used the async stuff so I don't know. did anyone help you with that? |
17:51:50 | EXetoC | I think various official projects use it, and there are probably tests for it too |
17:52:08 | ldlework | EXetoC: not really but I think its probably something I'll hold off looking into for a while |
17:52:49 | * | filwit quit (Quit: Leaving) |
17:53:18 | Araq_ | damn, I missed filwit |
17:54:06 | ldlework | Araq_: I watched your Nim talk last night |
17:54:11 | ldlework | congrats you're not the worst speaker alive! |
17:55:53 | EXetoC | so he's alive |
17:56:03 | EXetoC | assuming that it's not a case of identity theft |
17:56:36 | Araq_ | ldlework: er ... thanks? |
17:56:49 | ldlework | Araq_: sorry, it was indeed a compliment |
17:57:27 | Araq_ | btw after 10 minutes they told me there are 5 minutes left or something |
17:57:38 | ldlework | yeah I laughed outloud and woke up my girlfriend |
17:57:42 | ldlework | ^_^ |
17:57:49 | Araq_ | and usually the talk takes 30 minutes |
17:57:53 | ldlework | your response was like "uh... okayyyyy?" |
17:58:20 | ldlework | term rewriting macros are crazy |
17:58:23 | Araq_ | yeah and then I thought "no, I will not skip anything" |
17:58:43 | Araq_ | "this talk makes no sense without the juice" |
18:00:01 | Araq_ | term rewriting macros are another feature that is "obviously" wrong |
18:00:54 | Araq_ | except that Haskell has them too and afaict they do not cause any damage over there |
18:02:06 | Araq_ | time will tell, for now the stdlib doesn't use them. I thought about putting them in "experimental", but then there is already a global switch to turn them off |
18:03:41 | * | CARAM_ joined #nimrod |
18:04:38 | * | gokr_ joined #nimrod |
18:05:10 | Araq_ | gokr_: hrm quite sure I have a test for 'fields' + inheritance, but all the fields need to be public for it to be allowed |
18:08:02 | * | nullmove joined #nimrod |
18:08:59 | EXetoC | damn over-the-top web 2.0 websites slowing down the browser |
18:09:29 | gokr | willwillson: If it doesn't return all - then the generic `==` will not compare all fields. |
18:10:20 | willwillson | gokr: good point, it seems like it should. |
18:11:12 | gokr | Araq_: https://gist.github.com/gokr/1013542c842f1d896f29 |
18:11:17 | gokr | That gives me only "bb" |
18:11:37 | gokr | Ok, gotta run. |
18:19:20 | ldlework | Was the irc module removed? |
18:19:37 | EXetoC | because it's now a standalone package |
18:19:54 | ldlework | ok |
18:22:20 | ldlework | curious? https://github.com/thomaslee/nim |
18:22:37 | * | gokr_ quit (Ping timeout: 240 seconds) |
18:24:52 | * | gour_ joined #nimrod |
18:28:17 | willwillson | ldlework: http://forum.nimrod-lang.org/t/562#3014 for Araq's response to that |
18:29:20 | * | gour quit (Quit: Konversation terminated!) |
18:30:07 | * | yglukhov___ quit (Ping timeout: 272 seconds) |
18:32:16 | * | gour joined #nimrod |
18:35:50 | * | gour quit (Client Quit) |
18:36:21 | * | gour joined #nimrod |
18:49:21 | * | Matthias247 joined #nimrod |
18:52:38 | * | gokr_ joined #nimrod |
18:59:28 | * | ldlework considers portin paramiko |
19:00:10 | * | Varriount considers porting ldlework |
19:00:41 | Araq_ | Varriount! |
19:00:49 | Varriount | Araq_! |
19:01:13 | Varriount | Araq_: I told you I was busy with exams. That's why I haven't been on. |
19:01:37 | Araq_ | yeah but I am disappointed that you keep your word |
19:02:25 | Araq_ | are exams over now? |
19:03:00 | Varriount | Well, technically they are over at the end of the week. I still have an exam today, and a report to turn in by Friday. |
19:03:41 | Varriount | So, I will soon start working on the buildbot again. I've missed it. |
19:04:01 | Varriount | (I've also been working on a cross-platform path library at work) |
19:07:05 | Araq_ | how do you like our new website? |
19:08:54 | Araq_ | omg ... seriously |
19:09:16 | Araq_ | if you want to improve my productivity, make a tool to extract snippets from bug reports |
19:09:40 | Araq_ | copy&paste from firefox is unacceptable because it often loses newlines |
19:09:57 | Araq_ | (what is this ... 1970?) |
19:10:46 | Araq_ | hrm Chrome doesn't have this bug |
19:11:00 | Araq_ | Chrome also manages to show the URL that belongs to the tab (!) |
19:11:59 | Araq_ | Varriount: PLEASE, I need the test reports |
19:12:10 | Varriount | Araq_: Yes, yes, I know. |
19:12:22 | Araq_ | no merge, no features |
19:12:31 | Araq_ | should what the tester produces |
19:12:35 | Araq_ | *show |
19:12:39 | Varriount | Yeah. I have the basic code mostly done. I just need to test it. |
19:12:53 | Araq_ | don't talk to me. Test it. |
19:13:03 | Araq_ | bbl |
19:13:17 | Varriount | Araq_: I'm in class. About to take an exam. |
19:21:19 | * | BitPuffin quit (Ping timeout: 264 seconds) |
19:24:39 | * | gokr_ quit (Ping timeout: 258 seconds) |
19:26:55 | * | nullmove quit (Quit: Leaving) |
19:30:15 | * | rpag joined #nimrod |
19:44:04 | * | j3rky joined #nimrod |
19:46:43 | * | gour quit (Quit: Konversation terminated!) |
19:49:03 | * | gour joined #nimrod |
19:49:34 | * | dts|pokeball quit (Quit: Leaving) |
19:49:57 | * | dts|pokeball joined #nimrod |
19:51:37 | * | dyu quit (Ping timeout: 240 seconds) |
20:01:12 | * | gour_ quit (Ping timeout: 260 seconds) |
20:01:40 | * | dts|pokeball quit (Quit: Leaving) |
20:02:05 | * | dts|pokeball joined #nimrod |
20:02:40 | * | gour quit (Quit: Konversation terminated!) |
20:06:44 | * | gour_ joined #nimrod |
20:18:23 | * | yglukhov___ joined #nimrod |
20:39:56 | * | flaviu joined #nimrod |
20:48:59 | * | yeye123 joined #nimrod |
20:49:05 | * | gour_ quit (Ping timeout: 264 seconds) |
20:53:25 | * | Mat4 joined #nimrod |
20:53:29 | Mat4 | hello |
20:54:05 | Araq_ | hi Mat4. how do you like our new website? |
20:54:22 | Mat4 | hi Araq_ |
20:54:57 | Mat4 | I think it is a nice design despite somewhat to dark for my TFT display |
20:55:00 | * | gour_ joined #nimrod |
20:55:32 | * | gour_ quit (Client Quit) |
20:57:35 | yeye123 | sorry for newb question: {.cdecl.} what does this pragma do? |
21:00:08 | Varriount | yeye123: http://nimrod-lang.org/manual.html#procedural-type_toc |
21:00:09 | flaviu | yeye123: don't worry about it, see: http://nimrod-lang.org/manual.html#procedural-type |
21:00:17 | Varriount | XD |
21:01:18 | Varriount | yeye123: It changes the calling convention of a procedure. It's not really needed for most code. |
21:01:21 | flaviu | I feel that I've read the docs so many times that I've transformed into a human search engine :P |
21:02:23 | Araq_ | if only somebody would gather all the keywords of the language into some index ... ;-) :P |
21:02:49 | yeye123 | thank you guys, I'm still just starting out finding my way in the doc |
21:04:18 | Araq_ | http://nim-lang.org/theindex.html |
21:04:23 | Araq_ | CTRL+F |
21:04:26 | Araq_ | cdecl |
21:05:30 | yeye123 | thanks araq, I'll do that next time, thank you for your time again |
21:06:06 | Araq_ | no worries |
21:10:11 | flaviu | Araq_: Bug fixes over the last few month have been really impressive: http://i.imgur.com/pPXLZ5L.png |
21:12:35 | Araq_ | thanks, but I need to fix 31 bugs in 20 days ... |
21:13:27 | flaviu | Well, you just did 80 in 30 days. |
21:13:41 | flaviu | 31 in 20 should be a piece of cake ;) |
21:13:46 | Varriount | Hm... why is the buildbot page reporting that all the builders are offline |
21:16:06 | * | gokr_ joined #nimrod |
21:17:27 | Araq_ | I'm writing a "Why should I be excited?" FAQ entry |
21:17:35 | flaviu | Varriount: Looks like it may be a problem on my side for the arm builder |
21:17:47 | flaviu | I'm investigating the logs atm |
21:17:51 | Varriount | flaviu: Yeah, but on my side, I'm getting timeout errors. |
21:17:55 | * | yeye123 quit (Quit: Leaving) |
21:17:58 | * | gour joined #nimrod |
21:18:02 | Varriount | (My side being the windows builders |
21:18:19 | Varriount | And... I can't remember the password to the buildbot ssh. drat |
21:18:36 | * | milosn quit (Remote host closed the connection) |
21:18:38 | flaviu | Varriount: pfft, still using passwords like a pleb? |
21:19:01 | Varriount | flaviu: I tried for 3 days to get ssh keys working, and couldn't do it. |
21:19:25 | flaviu | ssh-copy-id -i ~/.ssh/id_rsa.pub user@target |
21:20:08 | Varriount | flaviu: I'm on windows, remember? |
21:22:41 | Mat4 | use Cygwin |
21:23:01 | * | gour quit (Quit: Konversation terminated!) |
21:24:58 | flaviu | Rebooting, lets see if that fixes things. |
21:25:46 | * | bjz quit (Ping timeout: 255 seconds) |
21:25:55 | Varriount | Oh, remembered it. |
21:26:39 | gokr | Hey |
21:26:44 | Varriount | flaviu: Aren't ssh keys supposed to be bound with a password though? |
21:26:46 | gokr | I also wondered why they are offline. |
21:27:04 | gokr | I tried getting the linux64 up again, but... not sure what is going on. |
21:27:24 | flaviu | Varriount: If you want to protect against people who break into your PC. But at that point you're screwed anyway, so I don't bother. |
21:27:36 | * | gokr watching the Nobel banquet - laureates speeches now |
21:27:59 | flaviu | Apparently there are ssh agents that deal with the password, so you only have to type it once and then it's in memory. |
21:28:58 | Varriount | flaviu: I'd argue that (unless you have an encrypted partition) storing ssh keys without a password is no better than having a password stored in plaintext on your computer. |
21:29:20 | flaviu | Varriount: Luckily, I do have whole disk encryption on everything |
21:31:20 | Mat4 | Araq_; building a kernel for AMD64 fails with error: Cannot open 'panicoverride'. What does this mean ? |
21:37:01 | * | NimBot joined #nimrod |
21:37:44 | dom96_ | oh dear. |
21:37:47 | dom96_ | What did Varriount do? |
21:42:21 | gokr | Hm? |
21:43:11 | * | Varriount joined #nimrod |
21:45:17 | gokr | Argh |
21:46:01 | gokr | The links bar (at the top) on the homepage is not consistent. |
21:46:05 | Varriount | gokr: I think something is wrong with the VPS - that's why none of the builders can connect. |
21:46:14 | gokr | The forum has different links. |
21:46:22 | gokr | Ok |
21:46:34 | gokr | Just let me know if you need me to do anything. |
21:46:43 | dom96_ | Varriount: What did you do? |
21:47:22 | flaviu | Varriount: Try checking the logs. Also, if there isn't any sensitive information on it, I'd like to take a look at it. |
21:48:03 | Varriount | dom96_: I restarted the vps, after updating it. |
21:48:22 | dom96_ | Why? |
21:49:13 | Varriount | dom96_: Force of habit - that's what I usually try first when a program messes up. |
21:49:32 | Varriount | On reflection, it wasn't a terribly good idea. |
21:50:52 | dom96_ | Yeah... |
21:50:58 | dom96_ | Don't ever restart the VPS. |
21:51:26 | flaviu | If restarting the VPS is a problem, I see that as a big problem. |
21:51:26 | dts|pokeball | 8 |
21:51:43 | gokr | Hehe, the chefs are toasting in champagne out in the kitchen at the Nobel banquet. :) Out of relief. |
21:51:43 | dts|pokeball | 16 |
21:52:03 | flaviu | The vps should automatically launch all it needs to launch on start up. |
21:52:04 | dts|pokeball | 24 |
21:52:07 | Varriount | dom96_: Do you still run the forum through an ssh session? |
21:52:07 | dts|pokeball | 26 |
21:52:10 | dom96_ | flaviu: That's not the issue. |
21:52:19 | dom96_ | flaviu: The issue is the unnecessary downtime. |
21:52:27 | dom96_ | And the fact that I run BNCs up there. |
21:52:37 | gokr | BNC? |
21:52:40 | dom96_ | Not fun to lose connection while you're chatting with someone. |
21:52:50 | flaviu | Oh, the bouncer is on the vps. |
21:52:56 | * | milosn joined #nimrod |
21:53:14 | dom96_ | Varriount: what do you mean? |
21:53:19 | dom96_ | Varriount: It's ran using upstart. |
21:53:56 | flaviu | I thought there were two VPS's, one for the buildbot and another for the site. |
21:54:12 | Varriount | dom96_: Oh. I must have misunderstood you. A while ago, I asked, and you said you ran the forum manually, through an ssh session |
21:54:20 | dom96_ | Another possible issue is somebody trying to post to the forum as the server dies. |
21:54:27 | dom96_ | Causing them to lose their post. |
21:54:53 | dom96_ | Varriount: I moved everything to that VPS recently from the old one. |
21:57:34 | * | dts|pokeball quit (Read error: Connection reset by peer) |
21:57:35 | * | Araq0 joined #nimrod |
21:57:49 | Araq0 | so Varriount killed my bouncer? |
21:57:58 | * | dts|pokeball joined #nimrod |
21:58:24 | Araq0 | Mat4: that is documented, you need to provide that file on your own or copy it from tests/manyloc/standalone |
21:58:38 | * | dts|pokeball quit (Read error: Connection reset by peer) |
21:58:41 | Varriount | Not intentionally... :< |
21:59:07 | gokr | Oh, so a bouncer is basically to not miss out when not online? |
21:59:09 | Mat4 | Araq0: thanks |
21:59:24 | * | dts|pokeball joined #nimrod |
21:59:38 | Mat4 | so I get a test interpreter running |
22:00:50 | dom96_ | gokr: It's an IRC client that is connected to an IRC server 24/7 |
22:00:53 | * | dts_ joined #nimrod |
22:01:11 | gokr | Yeah, I googled it, and I guess the primary advantage is not missing out. |
22:01:15 | dom96_ | gokr: It also acts as a server, so you can connect to it and see what you missed |
22:01:21 | dom96_ | yep |
22:01:44 | * | dts_ left #nimrod (#nimrod) |
22:04:08 | Mat4 | 0.43 ms (subroutine threading) against 1.06 s ('switch' threading) for 1000000 dispatches is not that bad I think (Intel Code i3, 1.83 GHz) |
22:04:40 | Araq0 | killing a bouncer is actually quite hard: https://www.youtube.com/watch?v=UfRGG-5FxkA |
22:05:39 | Varriount | Pfft, I just keep my irc client on all the time. |
22:06:56 | Araq0 | Mat4: tried .computedGoto pragma? |
22:07:14 | Mat4 | yes, this moment |
22:07:34 | Mat4 | the subroutine threading test is here: https://gist.github.com/anonymous/d0b35c40ceff69144137 |
22:07:50 | gokr | Araq0: I checked the tests in tests/fields/... but I can't see any code using inheritance like my trivial test does. |
22:08:04 | gokr | Araq0: You saw my gist, right? |
22:08:09 | Araq0 | gokr: well that's too bad then :-/ |
22:08:11 | Araq0 | yes. |
22:09:59 | * | quasinoxen quit (Read error: Connection reset by peer) |
22:10:08 | * | starless joined #nimrod |
22:10:50 | * | quasinoxen joined #nimrod |
22:10:52 | gokr | A question there, so I don't forget - if I define `==` on my ref object - then Nim will call that instead of the `==` generically defined for ref. But... can I still somehow compare two refs to check if they actually refer to the same object? |
22:11:33 | flaviu | addr obj1 == addr obj2? |
22:11:41 | gokr | Well, that feels hackish |
22:12:10 | gokr | But yes, is that the only way to do it? |
22:12:11 | Araq0 | system.`==`(a, b) |
22:12:37 | Araq0 | and please do never use: addr obj1 == addr obj2 |
22:12:51 | Araq0 | I can't imagine this to work for anything in practice |
22:13:29 | Araq0 | if object identity is important, you should use 'ref obbject' or 'ptr object' in the first place |
22:13:50 | gokr | But these guys are ref objects. |
22:14:08 | Araq0 | then don't compare their addresses |
22:14:38 | Araq0 | use system.`==`(a, b) to get the builtin equality |
22:14:50 | gokr | I was porting some code and there was an "equals" method that started out with checking if the two objects were in fact the *same*, and if so trivially could answer true. |
22:15:07 | Araq0 | listen to me |
22:15:15 | Araq0 | use system.== for that |
22:15:44 | gokr | Which doesn't work :) |
22:16:04 | gokr | But ok, given that it's fixed to work - yes, it will do a field-for-field == check. |
22:16:13 | Araq0 | why not? |
22:16:28 | Araq0 | no, it will do a 'ref' check |
22:16:47 | gokr | Ehm, ok, sorry - yes. |
22:17:02 | Araq0 | and it should really work on devel |
22:17:11 | * | Amrykid joined #nimrod |
22:17:16 | gokr | Ok, got it. Although it might look pretty ugly. |
22:17:26 | * | Araq joined #nimrod |
22:17:32 | Araq0 | I think it's perfectly clear |
22:17:45 | Araq0 | you define an == with the help of the builtin == |
22:17:49 | * | irrequietus quit () |
22:18:01 | gokr | Yeah, well, its ok. |
22:18:26 | * | dom96 joined #nimrod |
22:19:08 | * | jux joined #nimrod |
22:21:00 | Araq0 | gokr: well please report system.== not working and the fields bug |
22:21:44 | Mat4 | 43 ms against 46 ms |
22:22:01 | gokr | system.== works I think. But fields doesn't. |
22:22:59 | Araq0 | Mat4: computedGoto loses? |
22:23:33 | Araq0 | it's much easier to keep important stuff in registers with computedGoto though |
22:24:08 | Mat4 | the computed goto version is slightly slower because of increased BTB misses |
22:24:33 | gokr | I need to test a bit how methods work on object vs ref object. It suddenly turned a bit confusing to me. |
22:25:51 | * | Araq0 quit (Quit: Page closed) |
22:25:55 | Varriount | gokr: Methods, or procedures? |
22:26:11 | Mat4 | Araq0: I do not think think that matters because an efficient interpreter execute instruction combinations instead of single variants |
22:26:42 | Araq | Mat4: no way. that works for Forth, but doesn't for Nim. |
22:26:52 | Araq | Nim requires too many different opcoded |
22:26:55 | Araq | *opcodes |
22:27:22 | gokr | well, perhaps both. What triggered my confusion was the fact that there is `==` for "ref T" in system.nim (comparing the pointers I presume) and that's run *unless* there is a `==` defined for the "class" itself. |
22:28:09 | Araq | gokr: well yes, it kind of works like 'override' |
22:28:40 | Araq | though perhaps you're better off with an 'equals' method |
22:29:05 | willwillson | but if you dereference the objects, doesn't system.`==` only compare non-inherited fields? |
22:29:08 | gokr | And then... I of course realized that "a[] == b[]" ... doesn't use the `==` defined in the "class" (you know what I mean) - but falls back on the `==` in system.nim for object (recursive == check on all fields). |
22:29:09 | Araq | or with ==? or some other equality like operator |
22:29:28 | gokr | Since "a[]" is not the "ref object" type - its the object type. |
22:29:37 | Araq | willwillson: yeah but that's a bug :P |
22:30:34 | gokr | So... now I started wondering what happens if I use a Banana and a BananaObj type - and put methods on both those. |
22:31:37 | willwillson | is gokr going to report that one? |
22:31:43 | gokr | yeah |
22:31:47 | willwillson | cool |
22:31:53 | gokr | Its a pretty serious bug. |
22:32:22 | Araq | I can make it a showstopper for you |
22:32:45 | gokr | In fact... it implies that... there can't be that much OO Nim code out there. Although I kinda knew that. |
22:33:02 | Araq | no, it doesn't imply that at all. |
22:33:15 | gokr | No? It feels like it should have been discovered. |
22:33:33 | Araq | and I know of several projects that use 'method' all over the place |
22:34:08 | Araq | gokr: why? '==' for object types is rare and when it's used the objects are tuple like |
22:34:20 | Araq | and == for ref object doesn't have the problem |
22:34:20 | gokr | Rare? |
22:34:49 | Araq | yes. |
22:35:02 | gokr | Is there something specific making it rare in Nim - or are you saying that equality is a rare behavior in OO systems? |
22:35:20 | Araq | I'm saying everybody uses 'ref object' anyway |
22:35:54 | gokr | I don't get it. Perhaps I am missing something here. |
22:36:15 | gokr | Isn't == the equivalent of equals? |
22:36:37 | Araq | again == for 'ref object' works and does work like in Python/Lua/SmallTalk |
22:36:54 | gokr | Smalltalk (lower case :)) |
22:37:19 | Araq | and people either hand code their 'equals' because they don't know about fields or the current behaviour turns out to be fine |
22:37:24 | gokr | You mean "if we point at the same guy - its true, otherwise false"? |
22:37:29 | Araq | because the base object is abstract anyway and has no fields |
22:38:26 | * | rpag quit (Remote host closed the connection) |
22:38:37 | gokr | I haven't looked in detail - but I presume hash and == needs to be kept in sync for Tables to work properly? |
22:38:45 | Araq | yup |
22:38:55 | gokr | I don't think that's mentioned in the Tables code btw. |
22:38:59 | gokr | I may be wrong. |
22:39:09 | Araq | - document the tables module better |
22:39:11 | gokr | It did however explain the hash mechanism. |
22:39:14 | Araq | is in my todo |
22:39:19 | gokr | sure, got it. |
22:39:39 | Araq | the compiler itself uses == for *objects* |
22:39:40 | gokr | So, in Smalltalk we use == and =. The former is identity, the latter is equality. |
22:40:08 | gokr | And the default implementation of = is to use ==. |
22:40:09 | Araq | but these objects don't use inheritance and so I didn't notice the bug |
22:40:33 | gokr | sure |
22:40:49 | Araq | identify vs equality are good names, yeah |
22:40:57 | Araq | *itentity |
22:41:17 | gokr | So anyway, its quite common in Smalltalk at least - to have custom = methods. Always synced with hash of course. |
22:41:45 | gokr | Also, in Smalltalk we have both Dictionary and IdentityDictionary. |
22:42:17 | gokr | The former is a general hash table. The latter uses identity of the keys, not equality. |
22:42:32 | gokr | Which often is what you want anyway - in Smalltalk at least. |
22:43:10 | gokr | Anyway, a common pattern in = methods is to use == to check for identity as a "shortcut" |
22:43:45 | Araq | yeah. it's the same everywhere else |
22:44:21 | gokr | right |
22:44:38 | gokr | I just... am being overly explicit - since Nim may have other mechanisms. |
22:45:33 | gokr | So... if I define == in my "ref object" type, and would like to do an identity check - I would do "if system.`==`(self, other): ..." - right? |
22:45:59 | gokr | Cause that would use the one defined for "ref T", which is a magic. |
22:46:45 | Araq | right |
22:46:50 | dom96_ | btw I know that the links at the top in the forum don't match up the main website. I will fix it ASAP. |
22:47:15 | Araq | dom96_: well the links at the top are not consistent on the website either |
22:47:22 | gokr | dom96_: cool. But also, the main website has an inconsistency - "community" tab. |
22:47:27 | gokr | (right) |
22:47:34 | Araq | we have too many tabs so "news" and "community" didn't make it |
22:47:37 | dom96_ | I see |
22:47:48 | dom96_ | Then Araq has to fix that. |
22:47:51 | gokr | But hey, great work anyway! ;) |
22:47:53 | Araq | I actually like this solution ... |
22:48:12 | Araq | the website has hidden tabs, that's an easter egg |
22:48:35 | ldlework | lol oh brother |
22:50:18 | onionhammer | dom96_ also the logo flash |
22:50:21 | onionhammer | fix that too plz ;) |
22:50:48 | ldlework | logo flash? |
22:50:55 | flaviu | A couple comments on the forum: "Online IRC" has the wrong url, "Github Issues & Requests" has a misleading name, unstable documentation isn't linked to, the links in copyright footer don't go anywhere. |
22:50:59 | flaviu | err, the website |
22:51:44 | Araq | flaviu: yes. all known issues. |
22:52:02 | Araq | I think we should rename this channel now though |
22:52:09 | ldlework | please do |
22:52:41 | flaviu | A bit more subjective: I don't really like Ralph Waldo Emerson, it sounds like it's comparing the project to "Socrates, and Jesus, and Luther, and Copernicus, and Galileo, and Newton" in misunderstoodness |
22:52:54 | flaviu | *the Ralph Waldo Emerson quote |
22:53:25 | Araq | well we renamed the language due to misunderstandings ... |
22:55:09 | flaviu | Yeah, but the quote isn't very humble. You're supposed to let everyone else say you're awesome, not say so yourself. |
22:56:18 | Araq | the website never was humble |
22:57:42 | ldlework | hi flaviu |
22:59:27 | Araq | flaviu: but ok, come up with a good quote and I'll replace it. |
22:59:43 | dom96_ | Remove the quote from the main site |
23:00:02 | flaviu | Araq: The quote at the top of this page: http://reign-studios.net/philipwitte/nim/ |
23:00:03 | Araq | dom96_: we need more code snippets then |
23:00:05 | flaviu | ldlework: Hey! |
23:00:06 | dom96_ | It's really not important info for the user. |
23:00:13 | dom96_ | Add a screenshot of Aporia |
23:00:20 | gokr | Araq: You liked Dijsktra, right? Must be quotes there :) |
23:00:20 | dom96_ | or your talk |
23:00:27 | gokr | Dijkstra. |
23:00:30 | dom96_ | or some other cool projects |
23:00:34 | dom96_ | Make it an overview |
23:00:38 | dom96_ | of what people created |
23:00:42 | dom96_ | or something _interesting_ |
23:00:47 | Araq | omg, you always want screenshots from Aporia :P |
23:00:53 | Araq | *of |
23:00:56 | dom96_ | *shrug* |
23:01:01 | ldlework | I wouldn't advertise Aporia until it actually works |
23:01:02 | Araq | well |
23:01:20 | Araq | as I said, I lack the content |
23:01:28 | dom96_ | It's still the most impressive Nim project. |
23:01:31 | dom96_ | IMO |
23:01:35 | Araq | gimme content and I'll replace it |
23:01:35 | flaviu | I think filwit's examples are great: the first thing a newcomer wants to see is example code, and it provides the code. |
23:01:40 | ldlework | dom96_: it'll be a lot more impressive when it works :) |
23:01:55 | flaviu | dom96: It may be impressive, but it isn't pretty. |
23:01:55 | Araq | ldlework: that's mostly the compiler's problem though |
23:02:02 | dom96_ | ldlework: It is open source. |
23:02:04 | ldlework | Araq: right but still |
23:03:08 | flaviu | Btw, I think filwit intended for the top header to be all lowecase |
23:03:24 | dom96_ | oh yeah. filwit messaged me. |
23:03:27 | flaviu | I agree, I think "FAQ" should be lowercase |
23:04:00 | dom96_ | Sounds like he is not doing so well unfortunately. |
23:04:04 | ldlework | flaviu: I highly antiticpate a minimal working version of nimlets - as it stands I don't really know the techs you're going with, etc |
23:04:10 | dom96_ | Which is why he has so little time. |
23:04:31 | Araq | damn. but at least he's still alive. |
23:04:40 | ldlework | is he the person who was working on generics? |
23:04:53 | ldlework | or something |
23:04:55 | Araq | no, the website and documentation generator |
23:04:56 | dom96_ | no, he's the person who worked on the website. |
23:04:58 | ldlework | ah |
23:12:49 | * | Mat4 left #nimrod (#nimrod) |
23:16:11 | Araq | flaviu: please give me some small snippets from your nim by example book |
23:17:03 | flaviu | Araq: I really think that filwit's snippets at http://reign-studios.net/philipwitte/nim/ are great |
23:17:17 | ldlework | I wonder who is going to implement Nim in Nim |
23:17:40 | ldlework | (Nim the game) |
23:17:53 | Araq | flaviu: dude, these are already online |
23:18:28 | Araq | it's a slideshow |
23:18:38 | flaviu | Ah, the slideshow wasn't working because I had js off. |
23:18:49 | flaviu | Sorry, give me a few moments. |
23:18:51 | Araq | hi hi hi |
23:25:44 | gokr | Hmmm, found another oddity. |
23:26:03 | gokr | Will make a gist |
23:30:48 | gokr | https://gist.github.com/gokr/73cb41ac285611ba047a |
23:31:29 | gokr | Araq: It seems that... the inherited == from Vehicle is never called for two Cars. It uses the one in system instead. |
23:31:41 | flaviu | Araq: How is https://gist.github.com/f68af6e19c9654c1c992 ? |
23:32:17 | flaviu | nim-by-example isn't too good for this sort of thing, this requires totally different standards of conciseness. |
23:33:00 | Araq | gokr: the system one matches better |
23:33:14 | gokr | Since its a generic one, right? |
23:33:39 | Araq | since it's Car -> T aka a generic match |
23:33:44 | gokr | I mean "ref T" basically gets instantiated for Car - and... yes. |
23:33:51 | Araq | Car -> Vehicle is a subtyping match |
23:34:10 | gokr | Ok, so I understand - but... it feels like a trap. |
23:34:22 | gokr | But perhaps its not that common. |
23:34:39 | Araq | well we can make that a subtype matches better but I consider this really weird |
23:35:06 | gokr | So all the "ref T" in say system.nim - they can only be overridden explicitly in the leaf types. |
23:35:10 | Araq | that said, it's really not a good idea to overload == to provide dynamic binding capabilities |
23:35:23 | Varriount | dom96: Has anything network-related changed for the VPS recently? |
23:35:39 | gokr | I was just messing with == since that's the one that got me confused :) |
23:35:40 | Araq | you should introduce 'equals' or perhaps '==?' instead |
23:36:17 | gokr | And you mean, we should use == to mean identity instead? |
23:36:27 | Araq | yes |
23:36:37 | Araq | leave the system.== alone :P |
23:36:58 | gokr | Well, there is another system.== that does a "for all fields check" |
23:37:04 | gokr | For object|tuple. |
23:37:36 | Araq | so? what else would "identity" mean for that? |
23:37:47 | dom96_ | Varriount: Oh yes. I activated a firewall. |
23:37:51 | Araq | btw I was against adding == for objects |
23:37:56 | dom96_ | Varriount: Which port do you need open? |
23:38:29 | flaviu | Is there a way to tell the compiler that fields are global constants and are in fact gcsafe? |
23:39:14 | Varriount | dom96: 9989 |
23:39:17 | Araq | flaviu: no. |
23:40:44 | flaviu | Is there some way of getting around it? |
23:40:58 | dom96_ | Varriount: sudo ufw allow 9989/tcp |
23:41:05 | Araq | sure, but I won't show you |
23:41:51 | Araq | I'd like to see your code first |
23:42:58 | flaviu | Araq: https://gist.github.com/flaviut/a3bd2832b049fbb17385 |
23:43:33 | Araq | flaviu: make the proc type .nimcall and it'll work |
23:43:54 | * | Trustable quit (Quit: Leaving) |
23:44:17 | flaviu | Ok, thanks! |
23:45:27 | flaviu | I also have a global string that isn't gc safe, but I initialize it before I start with any threads and it can only die when there are no more threads. |
23:46:27 | Araq | is it a 'let'? |
23:46:41 | flaviu | Yes. |
23:46:55 | Araq | then I should make it work out of the box I guess |
23:47:19 | Araq | you can access it in some proc and then cast the proc type to be .gcsafe |
23:47:29 | Araq | that's the general workaround |
23:47:51 | flaviu | Actually, it's a seq[string], but that should work. thanks. |
23:48:56 | * | yglukhov___ quit (Quit: Be back later ...) |
23:51:35 | gokr | dom96_: "Oh yes. I activated a firewall." :) ...could that have something to do with the builders being all offline? naaaaaaaa ;) |
23:52:54 | Varriount | gokr: Try restarting the linux x64 builder, it should work now. |
23:53:04 | * | gokr doing it... |
23:53:28 | Araq | hrm honesty requires to put 'parallel' into --experimental |
23:53:37 | Araq | but it's too cool :-( |
23:53:40 | dom96_ | I figured a couple days of buildbot downtime was better than somebody bothering me later about the VPS' security being shit. |
23:54:08 | Varriount | I don't think I ever said that the security was 'shit' |
23:54:31 | flaviu | dom96_: You aren't running anything as root, are you? |
23:54:45 | Araq | I prefer insecure stuff that doesn't get into my way over secure stuff that doesn't work |
23:54:48 | gokr | dom96_: Hehe... |
23:54:54 | Araq | but I know I am a minority |
23:55:04 | gokr | No, you are a Windows user |
23:55:08 | Varriount | Araq: Remind me never to hire you as a sysadmin |
23:55:19 | Araq | gokr: outch :P |
23:55:25 | gokr | :) |
23:55:38 | Varriount | gokr: Hey, I run a firewall, and I'm a windows user... |
23:55:40 | gokr | But I can agree with that approach sometimes. |
23:56:09 | gokr | Although IMHO MS has been pushing that a bit too far. |
23:56:13 | flaviu | Araq: I don't think I understand what I'm supposed to be doing :P |
23:56:13 | flaviu | `cast[proc() {.gcsafe.}](proc () = discard args)()` |
23:56:27 | gokr | my eyes! it hurts! |
23:56:57 | flaviu | gokr: it's not quite perl... ;) |
23:57:05 | gokr | No, but... damn close. |
23:57:27 | Araq | it's perfectly readable to me ... *cough* |
23:57:37 | Araq | flaviu: does it work? |
23:57:51 | flaviu | Nope, I get a bunch of warnings |
23:58:15 | gokr | I sure hope I will not regret getting into Nim... ;) |
23:58:26 | flaviu | It's much easier to read with syntax coloring btw |
23:58:56 | gokr | Varriount: Linux64 woke up |
23:59:06 | gokr | (when I started it) |
23:59:18 | Araq | seriously. why is this code hardly readable? it's perfectly obvious and uses () |