00:00:38 | letian | Same code on java finished in 3 secs, and java implementation is pretty inefficient. |
00:01:25 | letian | here is an example: |
00:01:33 | pigmej | letian: you would need to show implemenattion |
00:01:51 | letian | var nums = toSeq(1..10); var i: int; while true: i+=1 if len(filterIt(nums, i mod it == 0)) == len(nums): echo i; break |
00:02:33 | letian | so for toSeq(1..10) it words and yields 2520 correctly |
00:03:07 | letian | but when I increase it to toSeq(1..20) the code runs for a much longer time |
00:05:08 | letian | I think its my implementation which is bad, can you provide a faster one? |
00:05:15 | pigmej | because in the 10 to 19 loop you're doing 10**10 iterations |
00:05:28 | pigmej | (roughly estimated) |
00:06:40 | letian | wow |
00:06:57 | pigmej | but it's 2AM there, so if I'm wrong sorry :] |
00:10:31 | letian | so, could we say that nim is just slow or is it the implementation that sucks? |
00:10:39 | letian | java deals with this in 3 secs |
00:11:10 | letian | and it basically the same code in java, even worse |
00:12:14 | letian | "worse" I mean is that I do a while true loop with a for loop over 1-20 inside that does the same i%num == 0 check |
00:12:51 | letian | only in nim I call filterIt proc which intuitively should be faster |
00:13:09 | letian | faster than doing while + for loop |
00:13:24 | pigmej | well it's implementation complication |
00:13:27 | * | ingsoc quit (Ping timeout: 256 seconds) |
00:13:36 | pigmej | this is brutal implementation |
00:16:11 | pigmej | 232792560 this is the answer for 1-20? |
00:17:59 | letian | yea |
00:18:15 | letian | I wonder how python would perform |
00:18:25 | pigmej | python ? slow as hell |
00:18:32 | pigmej | (if cpython) |
00:18:39 | pigmej | for pypy it would be probably quite fast |
00:19:25 | pigmej | letian: http://wklej.to/5OtpN/text that would be python equivalent |
00:25:12 | letian | hah, thanks pigmej, never used any() in my life, neat |
00:25:19 | * | Kingsquee quit (Read error: Connection reset by peer) |
00:25:35 | pigmej | it's iterator |
00:26:53 | * | Kingsquee joined #nim |
00:31:19 | pigmej | letian: anyway, there are at least 2 algorithms of solving this problem |
00:34:10 | letian | well,python is slow too, my laptop shall overheat here if I wait till it finishes:) |
00:34:36 | pigmej | get pypy |
00:34:39 | pigmej | cpython will be terrible slow |
00:34:50 | pigmej | on pypy it should be as fast as C |
00:35:40 | letian | yeah, but I am interested in faster implementation on nim |
00:36:08 | pigmej | hmm |
00:36:12 | letian | I am just trying to learn nim by solving simple tasks |
00:36:44 | pigmej | letian: https://en.wikipedia.org/wiki/Least_common_multiple#Computing_the_least_common_multiple |
00:37:35 | pigmej | letian: and nim implementation: http://wklej.to/wnoOi/text |
00:37:55 | pigmej | it uses kinof the same method as python one was using |
00:39:07 | letian | yeah, |
00:39:33 | letian | thanks, I shall try it out tomorrow, bed calling |
00:39:49 | letian | almost 3am, damn |
00:40:54 | vikaton | letian: is PE simple for you? |
00:41:09 | letian | what is PE? |
00:41:55 | vikaton | projecteuler.net |
00:42:26 | letian | no, not simple, first tasks are :D |
00:42:39 | vikaton | yeah same here |
00:42:44 | vikaton | most I could do is 15 problems |
00:43:07 | pigmej | letian: oh same time zone as mine :p |
00:43:15 | letian | well, I just started with 5, so maybe I won't go that far :D |
00:43:23 | letian | germany |
00:43:32 | pigmej | pl :) |
00:43:54 | letian | heh, neighbors |
00:44:25 | letian | ok, thanks for help guys, bb |
00:46:57 | fioco | I still need help |
00:47:07 | fioco | Will someone PLEASE help? |
00:47:36 | pigmej | fioco: no idea sorry ;/ |
00:47:58 | fioco | Ok |
00:48:09 | fioco | What even is Future? |
00:48:52 | * | letian quit (Ping timeout: 246 seconds) |
00:49:02 | pigmej | isn't it that one from asyncdispatch? |
00:49:14 | * | dddddd quit (Ping timeout: 272 seconds) |
00:49:16 | pigmej | yeah looks like http://nim-lang.org/docs/asyncdispatch.html#Future |
00:50:11 | fioco | Yes |
00:50:15 | fioco | I get it now |
00:50:16 | fioco | Thanks |
00:50:45 | * | pregressive joined #nim |
00:51:09 | * | NimBot joined #nim |
00:51:50 | * | gsingh93 quit (Quit: ZNC - http://znc.in) |
00:52:21 | * | gsingh93 joined #nim |
00:56:01 | * | pregressive quit () |
01:03:34 | * | ozra quit (Ping timeout: 246 seconds) |
01:05:29 | * | Siecje quit (Ping timeout: 246 seconds) |
01:05:56 | * | Siecje joined #nim |
01:06:36 | * | pregressive joined #nim |
01:11:03 | * | pregressive quit (Client Quit) |
01:11:46 | * | pregressive joined #nim |
01:12:41 | fioco | It's late |
01:12:53 | fioco | Sorry |
01:13:04 | fioco | Wring channel |
01:18:32 | * | pregressive quit () |
01:18:52 | * | boop is now known as boopisaway |
01:20:14 | * | pregressive joined #nim |
01:30:47 | vikaton | Is there a bot that evals nim code? |
01:31:20 | fioco | Yes |
01:31:27 | pigmej | ~~ eval 1 + 1 |
01:31:31 | pigmej | broken? |
01:31:42 | fioco | Https://github.com/dtscode/nimbus |
01:34:36 | * | jaco60 quit (Ping timeout: 265 seconds) |
01:35:08 | fioco | vikaton ^^ |
01:35:22 | vikaton | oh swag |
01:35:30 | fioco | Yeah |
01:35:34 | fioco | Dts is awesome |
01:35:45 | fioco | I'm working on a nim html tag |
01:36:16 | fioco | That will allow for nim to be embedded in html for browsers to run |
01:37:22 | * | askatasuna quit (Quit: WeeChat 1.2) |
01:37:38 | vikaton | fioco: nice! |
01:37:54 | fioco | I need help actually |
01:38:05 | fioco | My strings arent working |
01:38:08 | fioco | Thank you |
01:45:40 | * | Nimbus joined #nim |
01:45:43 | * | Nimbus quit (Read error: Connection reset by peer) |
01:47:03 | * | pregressive quit (Remote host closed the connection) |
01:51:04 | * | pregressive joined #nim |
01:55:53 | * | saml_ joined #nim |
02:04:55 | vikaton | some interesting comments: https://news.ycombinator.com/item?id=9667230 |
02:13:00 | * | milosn joined #nim |
02:13:49 | cazov | pyre made the best comment |
02:17:09 | * | kashyap_ joined #nim |
02:17:20 | kashyap_ | Hi ... how do I "join" a list of strings? |
02:17:43 | kashyap_ | essentially number of strings is determined at runtime |
02:19:04 | * | vendethiel quit (Ping timeout: 265 seconds) |
02:19:06 | onionhammer | http://nim-lang.org/docs/strutils.html#join,openArray[string],string |
02:19:08 | flaviu | kashyap_: http://nim-lang.org/docs/strutils.html#join,openArray[string],string |
02:19:09 | cazov | `foldl(words, a & b)` (see http://nim-lang.org/docs/sequtils.html ) |
02:19:13 | flaviu | haha |
02:19:15 | cazov | or that |
02:19:26 | kashyap_ | awesome!!!! |
02:20:44 | flaviu | fwi, http://nim-lang.org/docs/theindex.html, ctrl-f join |
02:20:47 | notfowl | Can we have nimbot search the index |
02:21:07 | notfowl | I'm calling nose-goes if you guys think thats a good idea |
02:21:37 | kashyap_ | flaviu .. I think join expects an array which implies knowing the count at compile time ... |
02:22:31 | notfowl | kashyap_: seqs are openarray |
02:22:33 | flaviu | kashyap_: "openarray" |
02:22:49 | flaviu | http://nim-lang.org/docs/manual.html#types-open-arrays |
02:23:13 | kashyap_ | oh I see .... then join seems more straight forward ... let me give it a shot |
02:23:49 | pigmej | ok guys, company + nimsuggest + emacs works |
02:23:57 | pigmej | reactormonk: ;-) |
02:27:34 | * | kashyap_ quit (Ping timeout: 246 seconds) |
02:28:44 | * | kashyap_ joined #nim |
02:28:47 | kashyap_ | flaviu .. http://lpaste.net/133965 could you please check what I am doing wrong |
02:33:32 | reactormonk | pigmej, perfect |
02:34:05 | kashyap_ | how can I pass a queue to a function that expects a seq? |
02:37:30 | reactormonk | pigmej, expecting a PR >:) |
02:42:36 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
02:43:10 | notfowl | kashyap_: convert it to a seq |
02:43:13 | fioco | How can I get a certain value from a hashset? |
02:43:20 | flaviu | kashyap_: A Queue is not an openarray. |
02:43:33 | flaviu | so, what notfowl said |
02:43:49 | cazov | could you use $ on the queue to cause a concatenation of strings? |
02:44:13 | cazov | oh but wait, that would add a ", " between each element |
02:47:36 | * | bjz joined #nim |
02:54:32 | fioco | I have a HashSet[string] that claims to be a char |
02:54:45 | fioco | I can't convert to cstring due to that |
02:54:49 | fioco | Suggestions? |
02:57:29 | * | darkf joined #nim |
03:19:53 | * | yglukhov________ joined #nim |
03:20:03 | * | fioco left #nim ("See") |
03:24:25 | * | yglukhov________ quit (Ping timeout: 264 seconds) |
03:51:57 | kashyap_ | sorry I had to step out .... how can I convert a queue to a seq? |
03:54:41 | kashyap_ | got it ... toSeq does the job |
04:17:06 | * | saml_ quit (Remote host closed the connection) |
04:29:52 | * | pregressive quit (Remote host closed the connection) |
04:57:43 | * | kashyap_ quit (Ping timeout: 246 seconds) |
05:00:27 | * | jbomo left #nim (#nim) |
05:02:27 | * | BlaXpirit joined #nim |
05:09:18 | * | Siecje left #nim (#nim) |
05:21:38 | * | jokra quit (Quit: WeeChat 1.0.1) |
05:22:34 | * | JinShil quit (Quit: Konversation terminated!) |
05:27:33 | * | BitPuffin|osx joined #nim |
05:28:42 | * | datanoise quit (Ping timeout: 246 seconds) |
05:32:40 | * | BitPuffin|osx quit (Ping timeout: 255 seconds) |
05:51:48 | * | kashyap_ joined #nim |
05:54:51 | * | datanoise joined #nim |
05:59:38 | * | vikaton quit (Quit: Connection closed for inactivity) |
06:04:01 | * | BlaXpirit quit (Quit: Quit Konversation) |
06:04:05 | kashyap_ | Hi, I am using httpclient and running it repeatedly is giving me Error: unhandled exception: Can't assign requested address [OSError] |
06:04:44 | Xe | kashyap_: pastebin code? |
06:06:05 | kashyap_ | http://pastebin.com/eTE2hFqi |
06:06:34 | kashyap_ | oops wrong code ... |
06:08:19 | kashyap_ | complete code here - http://pastebin.com/JQmF6Hmx |
06:35:05 | * | gsingh93 quit (Quit: ZNC - http://znc.in) |
06:35:37 | * | gsingh93 joined #nim |
06:39:24 | * | gsingh93 quit (Client Quit) |
06:39:57 | * | gsingh93 joined #nim |
06:43:05 | * | datanoise quit (Ping timeout: 250 seconds) |
06:43:56 | * | gsingh93 quit (Client Quit) |
06:44:27 | * | gsingh93 joined #nim |
06:45:42 | * | gsingh93 quit (Client Quit) |
06:46:13 | * | gsingh93 joined #nim |
06:50:52 | * | vendethiel joined #nim |
06:56:43 | * | kashyap_ quit (Ping timeout: 246 seconds) |
07:16:20 | * | BitPuffin|osx joined #nim |
07:21:17 | * | BitPuffin|osx quit (Ping timeout: 256 seconds) |
07:23:59 | * | kumul quit (Ping timeout: 245 seconds) |
07:34:23 | * | vendethiel quit (Ping timeout: 244 seconds) |
07:45:23 | * | yglukhov________ joined #nim |
08:00:47 | * | EastByte quit (Ping timeout: 265 seconds) |
08:01:48 | * | Arrrr joined #nim |
08:15:07 | * | Ven joined #nim |
08:24:41 | dtscode | All of the file reading/writing stuff is in system right? |
08:25:05 | Varriount | dtscode: Yes, for basic, cross-platform IO |
08:25:16 | dtscode | Pretty much all I need for this little app |
08:25:22 | * | OnO joined #nim |
08:25:26 | dtscode | Thanks Varriount |
08:25:32 | Varriount | dtscode: For async stuff, you'll need the 'asyncfile' module (I think that's the right name) |
08:26:06 | dtscode | Nah this isn't async. A buddy of mine just wants a word/line/character count of all his files in a project |
08:26:51 | Varriount | dtscode: wc? |
08:26:56 | dtscode | eh |
08:27:31 | dtscode | I stay away from bash if I can help it |
08:27:34 | Varriount | The wc utility, assuming (s)he's on a *nix OS, or on Windows with Msys/gnu-utils |
08:28:12 | Varriount | Well, it'll be a fun excercise in any case. :D |
08:44:42 | dtscode | Ok... I *think* it worked properly |
08:52:15 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:05:06 | * | BitPuffin|osx joined #nim |
09:07:18 | r-ku | apparently switf also does this thing with inclusive ranges http://stackoverflow.com/questions/26083873/swift-non-inclusive-range-with-double-dot |
09:09:59 | * | Ven joined #nim |
09:09:59 | * | BitPuffin|osx quit (Ping timeout: 250 seconds) |
09:13:59 | wuehlmaus | dtscode: maybe it's time for some zsh if you stay away from bash :) |
09:14:33 | wuehlmaus | sadly the windows port is not current but it's a hell of a shell |
09:15:20 | * | filcuc joined #nim |
09:17:29 | dtscode | wuehlmaus: eh |
09:17:52 | * | johnsoft quit (Ping timeout: 256 seconds) |
09:17:58 | * | johnsoft joined #nim |
09:25:12 | * | milosn quit (Quit: leaving) |
09:26:47 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:30:00 | * | vendethiel joined #nim |
09:35:42 | * | datanoise joined #nim |
09:36:20 | * | BlaXpirit joined #nim |
09:40:28 | * | datanoise quit (Ping timeout: 264 seconds) |
09:52:26 | * | vendethiel quit (Ping timeout: 256 seconds) |
09:57:30 | * | OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
10:22:06 | * | OnO joined #nim |
10:23:39 | buttplug | does nim do anything with multiple threads? |
10:23:54 | buttplug | tasks? coroutines? |
10:23:57 | buttplug | channels/ |
10:26:50 | * | Ven joined #nim |
10:30:07 | dom96 | buttplug: threads? yes. Coroutines? kinda |
10:30:12 | dom96 | channel? yes |
10:39:18 | * | BitPuffin|osx joined #nim |
10:41:22 | * | ingsoc joined #nim |
10:48:47 | buttplug | i mean how do you communicate across threads in nim? I don't see docs dealing with threads much? |
10:48:55 | buttplug | it doesn't do shared memory right? |
10:53:52 | buttplug | can nim do type classes or something similiar? |
10:56:11 | * | Ven quit (Disconnected by services) |
10:56:31 | * | Ven_ joined #nim |
11:02:52 | strcmp1 | afaik there's global variables, a shared heap where you manage the memory yourself, and i guess channels. |
11:05:35 | * | dddddd joined #nim |
11:05:50 | * | filcuc quit (Ping timeout: 252 seconds) |
11:10:16 | * | jaco60 joined #nim |
11:13:58 | pigmej | reactormonk: yeah PR will be there :) |
11:18:18 | * | gokr_ joined #nim |
11:18:35 | * | boogaboo joined #nim |
11:21:46 | * | boogaboo left #nim ("Leaving") |
11:24:51 | * | gokr_ quit (Read error: Connection reset by peer) |
11:25:39 | * | boopisaway is now known as boop |
11:27:40 | Araq | buttplug: we have channels but also spawn+dataflow variables |
11:31:00 | * | vendethiel joined #nim |
11:39:40 | * | Kingsquee quit (Quit: Konversation terminated!) |
11:43:29 | * | Arrrr quit (Quit: WeeChat 1.2) |
11:59:27 | * | JinShil joined #nim |
11:59:59 | * | yglukhov________ quit (Quit: Be back later ...) |
12:01:41 | * | yglukhov________ joined #nim |
12:03:04 | * | yglukhov________ quit (Client Quit) |
12:04:34 | BitR | dom96: I'm having issues compiling nimsuggest from the new repo. When using 'nim c' I get an error regarding prettybase.nim requiring the ast module, when using nimble it says it requires nim version 0.11.3, which hasn't been tagged yet. |
12:05:35 | dom96 | BitR: 0.11.3 is the devel version of the Nim compiler |
12:06:57 | dom96 | but perhaps the version requirements should be a bit softer |
12:07:03 | dom96 | I'll change it so that it works with 0.11.2 |
12:07:37 | BitR | dom96: Aha thanks, got it working after checking out the devel branch, doing koch boot and then nimble install from nimsuggest |
12:08:37 | Araq | reactormonk: any idea why nimsuggest still works unreliably? |
12:08:38 | BitR | well, compiling at least - now I get a bunch of runtime errors instead :) |
12:08:38 | * | OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
12:09:19 | * | datanoise joined #nim |
12:10:32 | Araq | BitR: I still like to get proper bug reports about nimsuggest ;-) |
12:10:57 | Araq | dom96: I still think it shouldn't be a nimble package |
12:11:16 | BitR | Araq: Sure |
12:11:17 | dom96 | Araq: why? |
12:11:18 | pigmej | Araq: the major problem with nimsuggest is it's quite frequently returning wrong data |
12:11:57 | dom96 | Araq: How do you expect others to write tools which require the compiler's code when you can't even do it? |
12:12:41 | Araq | dom96: I don't expect them to do that. the compiler's API is not stable nor well documented |
12:13:35 | dom96 | I think we should move towards making it stable. |
12:14:39 | * | skyfex quit (Quit: (null)) |
12:17:45 | pigmej | who uses emacs there ? |
12:18:06 | Araq | pigmej: well it returns a "best effort" if it cannot determine the type properly |
12:18:18 | Araq | pigmej: at least reactormonk |
12:19:42 | pigmej | Araq: yeah I know that reactormonk uses emacs :) |
12:19:59 | pigmej | Araq: the problem for me is that it usually returns weird data |
12:20:26 | pigmej | Araq: http://wklej.to/WwtwR/text |
12:20:43 | pigmej | put cursor on c1.vocal{there} |
12:24:08 | * | TEttinger quit (Ping timeout: 246 seconds) |
12:29:45 | dom96 | pigmej: You can't indent 'method' like taht |
12:29:48 | dom96 | *that |
12:33:43 | pigmej | dom96: that's from example ;-) |
12:34:01 | dom96 | huh? |
12:34:36 | pigmej | that code is copy&pasted |
12:34:41 | pigmej | from some examples |
12:35:14 | dom96 | what examples? |
12:35:37 | pigmej | http://nim-by-example.github.io/oop_macro/ |
12:35:39 | pigmej | this one I think |
12:35:50 | pigmej | yeah that's this one |
12:35:57 | Araq | 1. that does it differently |
12:36:19 | Araq | 2. that the OOP macro still confuses nimsuggest is on my todo |
12:36:19 | pigmej | ah ok |
12:36:21 | pigmej | I see |
12:36:28 | pigmej | ok that would explain :) |
12:38:09 | strcmp1 | awesome macro tho |
12:39:28 | pigmej | but well, http://wklej.to/OhC8T/text |
12:39:33 | pigmej | pretty nothing changes |
12:41:01 | dom96 | I think we need highlighting of errors in code |
12:41:10 | dom96 | for example line 24 is incorrect in that example |
12:41:21 | dom96 | so I'm guessing nimsuggest gets confused because of that |
12:41:28 | dom96 | what suggestions are you getting for that? |
12:41:38 | * | ingsoc quit (Ping timeout: 246 seconds) |
12:41:40 | pigmej | I would say "all possible" |
12:41:51 | * | ingsoc joined #nim |
12:42:30 | Araq | well as I said, this is the fallback behaviour |
12:42:42 | pigmej | Araq: is there any way to detect it? |
12:43:04 | Araq | no, but I can easily add that info |
12:43:05 | * | milosn joined #nim |
12:43:24 | Araq | the more interesting question is: Is this a good idea at all? |
12:43:38 | pigmej | I think that would be cool if nimsuggest would return 'sure' and 'unsure' results or something like that |
12:43:54 | dom96 | A percentage would be nice |
12:44:13 | pigmej | dom96: I'm not sure, I would say 0/1 would be better |
12:44:40 | dom96 | depends how many factors nimsuggest has to work with |
12:44:53 | pigmej | the good thing guys, is that we have now emacs working together with nimsuggest :) |
12:44:57 | Araq | dom96: we have no percentages. either we have a type to work with or we don't |
12:44:59 | pigmej | with company backend :) |
12:45:03 | dom96 | I think being able to tell nimsuggest "I want fallback behaviour" would be good |
12:45:13 | dom96 | no fallback behaviour by default |
12:45:15 | pigmej | dom96: then it would require 2 iterations |
12:45:18 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:45:35 | Araq | dom96: yeah, how is the editor/programmer supposed to know? |
12:45:44 | pigmej | first normal and then "maybe" fallback |
12:45:53 | Araq | but sure/unsure could get different colors in the editor |
12:45:58 | pigmej | yeah |
12:46:39 | dom96 | I think you should use percentages for the future when we do have multiple ways to determine the likelihood of suggestion correctness |
12:47:10 | dom96 | but meh, floats will do too I guess |
12:47:32 | Araq | so what do you do with a 70% suggestion? |
12:47:54 | dom96 | Eclipse (or IntelliJ IDEA, can't remember) gives percentages. |
12:48:04 | Araq | really? |
12:48:07 | pigmej | dom96: how would that percentage work? |
12:48:23 | dom96 | As for fallback, perhaps the user only wants to see certain suggestions? |
12:48:41 | dom96 | For example: procedures in the current file get a higher percentage |
12:49:27 | dom96 | By 'certain suggestions' I mean suggestions which are 100% certain |
12:50:27 | dom96 | If I want to configure my editor not to show these unreliable suggestions then why should I wait until I receive this huge dump of all the procedures? |
12:51:13 | dom96 | A more important feature though is the ability to check the file for errors. |
12:51:19 | dom96 | Perhaps that is already possible via nimsuggest? |
12:51:26 | pigmej | nope |
12:51:34 | pigmej | nimsuggest generally will parse everything |
12:51:42 | dom96 | Then the user knows to fix the problems before attempting to invoke suggest |
12:51:57 | pigmej | dom96: and now imagine you're in the middle of writting proc |
12:52:18 | pigmej | and it's probably always 'syntax incorrect' (discard, return type missmatch etc) |
12:52:36 | dom96 | pigmej: You've already provided us with 2 examples with errors which are far from the code you were writing, you didn't seem to be aware of them. |
12:52:55 | dom96 | All IDEs already do that, they complain about code you are writing. |
12:52:58 | dom96 | It works fine. |
12:53:20 | dom96 | Your IDE could always ignore errors on the line which you are on |
12:53:47 | pigmej | dom96: but we're talking about nimsuggest |
12:53:52 | Araq | dom96: pretty sure nimsuggest can also report errors |
12:54:15 | dom96 | pigmej: hrm? |
12:54:22 | pigmej | dom96: nvm |
12:54:26 | dom96 | Araq: Is there a 'check' command? |
12:57:56 | pigmej | dom96: afaik no |
12:58:02 | Araq | dom96: no but in debug mode it also reports error messages |
12:58:43 | pigmej | Araq: does nimsuggest filter suggestions somehow ? for me it seems that it always return all methods/etc that are possible |
12:59:01 | dom96 | Araq: hmmm. We need a check command then. |
12:59:15 | pigmej | http://wklej.to/Fh6kd/text and cursor after 'ad' |
12:59:27 | pigmej | and nimsuggest returns `contains` |
12:59:43 | pigmej | (which is quite ok, because contains is valid for animals) |
12:59:53 | pigmej | except it doesn't makes sense with 'ad' prefix |
13:00:12 | Araq | well first of all |
13:00:27 | Araq | the 'ad' prefix is irrelevant, this is not how nimsuggest works |
13:00:32 | pigmej | ok |
13:00:43 | pigmej | that's then the answer. |
13:00:48 | Araq | nimsuggest looks until the '.' and then expects the editor to do prefix based filtering |
13:00:55 | pigmej | ok, cool |
13:01:40 | Araq | dom96: maybe but 'sug' also needs to output errors if no suggestions can be given |
13:01:51 | pigmej | +1 |
13:02:21 | * | datanoise quit (Ping timeout: 276 seconds) |
13:06:43 | Araq | dom96: https://github.com/nim-lang/nimsuggest/issues/4 |
13:07:14 | Araq | so nimble install still doesn't work, nimsuggest needs to be in the bin/ where 'nim' lives. |
13:08:43 | * | gokr_ joined #nim |
13:09:21 | dom96 | Araq: That's easy to fix. |
13:09:25 | dom96 | (I hope) |
13:09:47 | dom96 | Can I override the path where the compiler looks for lib/ from nimsuggest? |
13:10:59 | * | OnO joined #nim |
13:11:52 | Araq | via --lib |
13:15:15 | * | gokr_ quit (Read error: Connection reset by peer) |
13:18:16 | pigmej | Araq: I have to admit, nimsuggest is really cool tool |
13:19:18 | * | xet7 quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
13:19:43 | * | xet7 joined #nim |
13:21:21 | pigmej | reactormonk: ping |
13:22:19 | Araq | pigmej: thanks. ;-) |
13:24:04 | * | Ven joined #nim |
13:26:15 | pigmej | anyone knows in what timezone reactormonk lives? |
13:26:35 | Araq | Texas? |
13:27:13 | pigmej | so it's 8:30 AM saturday there :) |
13:34:13 | pigmej | Ok emacs completion works |
13:34:31 | pigmej | goto definition not yet, show doc seeems working also |
13:36:16 | * | BlaXpirit is now known as Guest92464 |
13:36:16 | * | BlaXpirit_ joined #nim |
13:36:16 | * | Guest92464 quit (Killed (card.freenode.net (Nickname regained by services))) |
13:36:16 | * | BlaXpirit_ is now known as BlaXpirit |
13:38:13 | * | JinShil quit (Ping timeout: 265 seconds) |
13:44:10 | r-ku | any way to bind proc to generic type? like proc new*[T](_: type list[T]) ? it ofc throws error that no generic parameters are allowed for list. |
13:45:03 | Araq | r-ku: typedesc? |
13:45:33 | r-ku | replacing "type" with "typedesc" still yields same error |
13:47:00 | Araq | proc new*(x: typedesc[list]) |
13:47:16 | Araq | so don't have a T here. this should then work, I hope. |
13:50:48 | r-ku | Araq: actually it seems generic aprams arent allowed for distinct types. i have type list = distinct seq. any way to work-around this? |
13:50:55 | * | filcuc joined #nim |
13:51:22 | Araq | dunno. the language works better when you're not fighting it all the time. |
13:52:58 | Araq | see "Utf-8 aware strings" ... I argued why UTF-32 won't help you, you chose to ignore the reasons. |
13:55:00 | r-ku | come on. you cant seriously mean that containers implemented in stdlib are ones true and holy containers to be used. even in c++ i use custom containers because they are so much better than stl. so i dont really call it "fighting" against language. as for strings - not everyone supports hundred chinese dialects. utf-8 covers most of word's needs. and when it doesnt work good enough i suppose anyone is welcome to implement <their encoding |
13:55:00 | r-ku | of choice>-aware string class. |
13:56:42 | r-ku | and correct way to do it apparently is type list*[T] = distinct seq[T] / proc new*[T](_: typedesc[list[T]]) = \o/ |
13:58:45 | * | datanoise joined #nim |
14:03:52 | * | reloc0 left #nim ("WeeChat 0.3.8") |
14:04:59 | * | Arrrr joined #nim |
14:07:22 | Araq | r-ku: not in my opinion, but fair enough. |
14:07:54 | Araq | in my opinion "encoding-aware string class" creates more problems than it solves, but ok. |
14:10:57 | r-ku | Araq: i guess i understand your position. string not unicode-aware by default - fine. as long as there is non-masochistic solution, so a custom string implementation. well i made one for myself, even if crude and underfeatured it works after half-days work. that "distinct" for built-in types is a true lifesaver. |
14:12:01 | Araq | the solution that the stdlib is after is to make you use --taintMode:on and then perform input validation which can include utf-8 validation |
14:18:47 | * | skyfex joined #nim |
14:24:16 | * | Siecje joined #nim |
14:28:58 | * | datanoise quit (Ping timeout: 256 seconds) |
14:31:45 | * | yymoto2 joined #nim |
14:34:20 | * | superfunc joined #nim |
14:36:46 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:36:51 | * | no_name quit (Remote host closed the connection) |
14:36:51 | * | devzerp quit (Remote host closed the connection) |
14:39:15 | * | superfunc quit (Quit: Lost terminal) |
14:44:40 | * | devzerp joined #nim |
14:44:40 | * | no_name joined #nim |
14:46:57 | * | Siecje quit (Read error: Connection reset by peer) |
14:50:24 | * | skyfex quit (Quit: (null)) |
14:54:00 | * | vikaton joined #nim |
14:55:07 | reactormonk | pigmej, I usually get up at 10 |
14:58:27 | * | Ven joined #nim |
14:58:49 | Arrrr | Hello, how do i iterate over files in a directoy? |
14:58:52 | Arrrr | *directoy |
14:58:56 | Arrrr | **directory |
14:59:53 | Araq | Arrrr: something in the os.nim module |
15:00:10 | Arrrr | Fine, thanks! |
15:00:13 | Araq | walkDir or something |
15:01:00 | pigmej | reactormonk: ah :) |
15:01:02 | pigmej | hey man :) |
15:01:07 | reactormonk | morning |
15:01:23 | pigmej | reactormonk: check this out https://github.com/pigmej/nim-mode/tree/epc |
15:01:24 | pigmej | ;-) |
15:02:03 | * | t4nk754 joined #nim |
15:02:03 | pigmej | (the elisp code probably sucks) |
15:02:11 | pigmej | *should be without the |
15:02:18 | reactormonk | pigmej, the nimsuggest part should go to nim-mode for ac-nim |
15:02:43 | pigmej | reactormonk: yeah |
15:02:50 | pigmej | also for 'goto definition etc' |
15:03:02 | pigmej | that's why it's not yet pull request |
15:03:08 | pigmej | the company-nim.el is self contained for now |
15:03:30 | * | t4nk754 quit (Client Quit) |
15:03:55 | reactormonk | I'd rather not go for positional arguments (e.g. company-nim--format-candidate) just because I don't like magic numbers, but eh... |
15:04:39 | pigmej | reactormonk: that function is hmm, crappy |
15:04:45 | pigmej | there is even comment that it sucks |
15:04:53 | vikaton | 10:59:58 AM <Araq> walkDir or something |
15:04:55 | * | kumul joined #nim |
15:04:56 | pigmej | I have no idea how to parse it better |
15:05:02 | vikaton | doesnt even know his own language smh |
15:05:28 | Araq | vikaton: it's been a while since I used walkDir |
15:05:49 | vikaton | Araq: lol I was just kidding :P |
15:06:40 | reactormonk | pigmej, https://github.com/pigmej/nim-mode/blob/epc/nim-mode.el#L982 |
15:06:48 | Varriount | pigmej: walkDir and walkDirRec both need to be deprecated and replaced. |
15:06:48 | reactormonk | pigmej, just use nim-call-epc |
15:07:13 | * | kumool joined #nim |
15:07:18 | pigmej | Varriount: ee ? |
15:07:28 | pigmej | reactormonk: hmm |
15:08:18 | reactormonk | pigmej, also, I do the parsing just below the line mentioned |
15:09:18 | * | filcuc quit (Ping timeout: 252 seconds) |
15:09:22 | * | darkf quit (Quit: Leaving) |
15:09:28 | vikaton | That new addition to the FAQ got some attention on HN |
15:09:38 | pigmej | hmm so in fact I can reuse it completely (nim-parse-epc) isn't it reactormonk ? |
15:09:46 | vikaton | we should make an official FAQ on nim-lang.org |
15:09:48 | reactormonk | pigmej, I certainly hope so |
15:09:50 | Varriount | vikaton: Link? |
15:10:00 | vikaton | Varriount: https://news.ycombinator.com/item?id=9667230 |
15:10:05 | * | kumul quit (Ping timeout: 244 seconds) |
15:10:06 | Varriount | vikaton: http://nim-lang.org/question.html |
15:10:09 | pigmej | reactormonk: what about nim:start-nimsuggest (and family) |
15:10:40 | reactormonk | pigmej, all handled by nim-call-epc |
15:11:06 | reactormonk | pigmej, see nim-find-or-create-epc |
15:11:13 | pigmej | yeah looking at it |
15:11:20 | pigmej | callbacks... |
15:11:28 | pigmej | I don't know how to use it ;/ |
15:11:43 | pigmej | I mean, it usually calls wrong function for me (see the async backend) |
15:11:47 | reactormonk | instead of having a return value, you get the return value passed to a function. |
15:12:06 | Varriount | vikaton: *winces at the HN comments* |
15:12:10 | pigmej | yeah I knwo how callbacks works |
15:12:18 | pigmej | but https://github.com/pigmej/nim-mode/blob/eb3e41a1cd9d3983b5fb8ff378393611b31963e4/company-nim.el#L111 |
15:12:37 | pigmej | the callback is't the same callback as in arguments and I have no bloody idea why |
15:12:49 | vikaton | Varriount: yeah some of them dont make sense at all, but that main comment isnt even about the Topic |
15:12:51 | vikaton | lol |
15:13:03 | Arrrr | Fine, thanks! |
15:13:03 | reactormonk | pigmej, yeah, gotta use a lexical-let as I did in the above function because the callback is out of scope |
15:13:24 | Varriount | pigmej: That's a lot of parenthesis. |
15:13:59 | pigmej | Varriount: lisp... |
15:14:43 | pigmej | reactormonk: what is lexical-let ? |
15:14:52 | reactormonk | pigmej, see nim-call-epc |
15:15:12 | pigmej | reactormonk: the good thing about my super code is that company works ;) |
15:15:16 | reactormonk | pigmej, elisp has a few wierd scopes... one to know is that callbacks in lisp are not in the normal function scope. |
15:15:39 | reactormonk | or rather the other way, arguments passed to a function are NOT in lexical scope, and therefore not available in callbacks |
15:15:49 | pigmej | weird |
15:15:57 | pigmej | what's the reason for this ? |
15:17:01 | reactormonk | I have no idea |
15:17:12 | reactormonk | Not even sure if my explanation is correct |
15:17:19 | Araq | emacs and vim lived for far too long? ;-) |
15:17:58 | vikaton | lol @ rust reddit trying to improve their benchmarks |
15:18:44 | pigmej | Araq: emacs is still in good shape, they are changing elisp to guile |
15:21:21 | vikaton | guys since Rust is frantically trying to improve their benchmarks, we should too https://github.com/kostya/benchmarks |
15:21:54 | reactormonk | pigmej, and you can go code scheme instead of elisp :-) |
15:22:23 | pigmej | still better;d |
15:22:53 | Araq | vikaton: as I'm working on an alternative GC mode, most benchmarks should improve automatically ... |
15:24:33 | pigmej | reactormonk: so i'm refactoring then that company-nim |
15:24:43 | reactormonk | pigmej, preferably |
15:24:44 | pigmej | to use functions from nim-mode |
15:26:07 | reactormonk | pigmej, btw, it might not be callbacks with the lexical-let, it might just be deferred, which evals the block at a later point out of the function scope, only lexical bindings are available |
15:26:09 | pigmej | reactormonk: did you checked how company works ? |
15:26:17 | reactormonk | pigmej, kinda, apparently not too well |
15:26:57 | pigmej | btw what about text properties :nim-doc etc ? |
15:27:04 | pigmej | any other / better way to do so? |
15:28:03 | reactormonk | pigmej, I just attach the nim-epc object. |
15:28:33 | pigmej | company requires text strings |
15:29:26 | reactormonk | sure, but the text properties don't matter too much |
15:29:43 | reactormonk | after all, you can use your own function to extract the required properties |
15:30:09 | reactormonk | or you could use (nim-epc-section struct) etc. instead of (xth) |
15:30:24 | pigmej | oks |
15:30:50 | pigmej | btw I really hate elisp:P |
15:31:02 | reactormonk | you'll get used to it. |
15:32:31 | * | yymoto2 quit (Quit: leaving) |
15:33:30 | * | skyfex joined #nim |
15:35:06 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:35:15 | * | skyfex_ joined #nim |
15:38:06 | * | skyfex quit (Ping timeout: 256 seconds) |
15:42:34 | vikaton | Araq nice |
15:43:48 | * | dhasenan left #nim (#nim) |
15:45:00 | vikaton | Araq, for the next release? |
15:45:31 | Araq | this is offtopic, but how come my Mac .app now opens "Choose a File"? |
15:45:49 | Araq | vikaton: not sure |
15:46:33 | vikaton | Okay, keep up the good work |
15:47:52 | Arrrr | Is there an easy way to read integers bigger than 8 bytes from files, or do i have to play with sifts |
15:48:31 | Araq | integers bigger than 8 bytes? I don't think there is a standard binary format for bignums |
15:48:59 | Arrrr | sorry, i meant 8 bits |
15:50:01 | Araq | streams has readInt8 and similar |
15:50:30 | Arrrr | ujj, didt know that |
15:55:15 | * | kumool quit (Ping timeout: 276 seconds) |
16:01:11 | * | ingsoc quit (Quit: Leaving.) |
16:04:42 | * | yglukhov________ joined #nim |
16:06:20 | * | Ven joined #nim |
16:09:33 | * | yglukhov________ quit (Ping timeout: 276 seconds) |
16:13:54 | * | kumool joined #nim |
16:15:18 | * | yglukhov________ joined #nim |
16:16:12 | * | noneofmynickswor joined #nim |
16:16:16 | Arrrr | I have a table of type 'TableRef[int16, seq[Object]]', initialized with 'newTable 10_000' but i get the error "tables.nim(434, 16) Error: cannot instantiate: 'A'" |
16:19:37 | * | kumool quit (Ping timeout: 256 seconds) |
16:21:12 | Araq | Arrrr: use newTable[int16, seq[RootRef]] |
16:21:24 | Araq | Arrrr: use newTable[int16, seq[RootRef]]() |
16:24:39 | Arrrr | That was it, thanks. |
16:30:51 | * | devzerp quit (Remote host closed the connection) |
16:30:51 | * | no_name quit (Remote host closed the connection) |
16:38:41 | * | devzerp joined #nim |
16:38:43 | * | no_name joined #nim |
16:40:31 | reactormonk | Araq, mind transferring the repo to nim-lang? |
16:53:57 | * | filcuc joined #nim |
17:10:15 | * | datanoise joined #nim |
17:15:20 | * | datanoise quit (Ping timeout: 272 seconds) |
17:20:45 | * | gokr_ joined #nim |
17:21:03 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
17:21:25 | * | Senketsu quit (Quit: Leaving) |
17:25:19 | vikaton | yeah I think Nim should be in nim-lang |
17:26:17 | * | milosn quit (Ping timeout: 265 seconds) |
17:28:41 | Araq | reactormonk: nah, can do it tonight. |
17:28:52 | reactormonk | Araq, perfect. |
17:29:09 | vikaton | swagg |
17:30:33 | * | wuehlmaus quit (Quit: Lost terminal) |
17:33:54 | * | milosn joined #nim |
17:34:51 | * | wuehlmaus joined #nim |
17:35:34 | pigmej | reactormonk: i checked that nim-call-epc |
17:35:36 | * | filcuc quit (Ping timeout: 272 seconds) |
17:35:41 | pigmej | and it seems that I have no idea how to use it |
17:36:36 | reactormonk | pigmej, hm. (with-current-buffer (get-buffer <something>)) <- wrap this around if you wanna test it in another buffer, otherwise you don't need it |
17:36:52 | pigmej | nah this is fine |
17:37:09 | pigmej | just elisp problems I think |
17:37:17 | pigmej | https://bpaste.net/show/d98d73009d2e |
17:38:46 | reactormonk | pigmej, looks about right |
17:39:09 | onionhammer | Araq what is the new gc mode? |
17:39:51 | pigmej | reactormonk: sadly it 'explodes' emacs:d |
17:39:58 | reactormonk | ? |
17:40:13 | pigmej | whole emacs freezes for 5 seconds |
17:40:24 | pigmej | and it segfaulted once even |
17:40:31 | reactormonk | O.o |
17:41:13 | Varriount | onionhammer: Hi! If you have time, could you please test the latest version of Nimlime on ST3, and give me all the juicy bugs? |
17:41:29 | reactormonk | pigmej, yup, the freeze is kinda expected because nimsuggest is started up sync :-/ |
17:42:04 | pigmej | reactormonk: but everytime? |
17:42:11 | Varriount | pigmej: I can only imagine how dangerous the parenthetical shrapnel was. |
17:42:13 | reactormonk | pigmej, maybe not. |
17:42:42 | reactormonk | pigmej, in scratch.el, there's a command to enable epc debug - try again with that |
17:43:03 | pigmej | the roblem is nothing is printed |
17:43:07 | pigmej | also epc:controller is empty |
17:43:17 | reactormonk | wtf. |
17:43:18 | pigmej | so I suppose the 'start' is not working correctly |
17:43:35 | reactormonk | O.o |
17:43:50 | * | brson joined #nim |
17:43:55 | reactormonk | then try nim-find-or-create-epc |
17:43:58 | pigmej | ah |
17:44:00 | reactormonk | ... with a with-buffer around |
17:44:05 | pigmej | (defvar nim-nimsuggest-path nil "Path to the nimsuggest binary.") |
17:44:17 | reactormonk | :D |
17:44:41 | pigmej | why it's defvar not defcustom ? |
17:44:44 | onionhammer | Varriount I'm up at a state park with no internet or cell service so maybe Sunday evening |
17:44:52 | reactormonk | pigmej, ehh, change it. |
17:44:58 | reactormonk | because I didn't know better |
17:45:16 | onionhammer | I'm at a visitor center with WiFi atm |
17:47:01 | Varriount | onionhammer: Oh, ok. Have fun at the park! |
17:47:05 | Varriount | :D |
17:47:06 | pigmej | ok reactormonk that works |
17:47:13 | reactormonk | pigmej, perfect. |
17:48:21 | * | Ven joined #nim |
17:50:37 | pigmej | but company still not ;/ |
17:51:01 | * | Ven quit (Client Quit) |
17:51:20 | * | Varriount wonders how complicated nim-mode is compared to NimLime |
17:51:35 | pigmej | I think something is wrong with your epc functions reactormonk |
17:51:38 | reactormonk | Varriount, gotta do some stuff async because no multithreading |
17:51:40 | pigmej | it always crashes after one use |
17:51:41 | reactormonk | pigmej, entirely possible |
17:51:53 | pigmej | !! Process Sentinel [epc con 12] : #<process epc con 12> : "connection broken by remote peer |
17:51:54 | pigmej | etc |
17:51:55 | reactormonk | are the messages epc gives correct? |
17:51:59 | Varriount | reactormonk: Ouch. |
17:52:09 | pigmej | it doesn't even reply |
17:52:50 | reactormonk | pigmej, that's not epc, that's nimsuggest crashing |
17:53:02 | pigmej | yeah yeah |
17:53:05 | pigmej | I even know why |
17:53:11 | reactormonk | nice |
17:53:13 | pigmej | your structs / texts are weird |
17:53:21 | reactormonk | example plz |
17:53:26 | pigmej | >> SEND : ["000070(call 13 sug (#(\"/tmp/blah.nim\" 1 4 (face flx-highlight-face)) 24 10 \"/tmp/pigmej/nim-dirty12546SsO/blah.nim\")) |
17:53:46 | reactormonk | looks about right? or how should i tbe? |
17:53:54 | pigmej | (#(\"/tmp/blah.nim\" 1 4 (face |
17:53:55 | pigmej | flx-highlight-face)) |
17:53:57 | pigmej | without this |
17:54:14 | pigmej | I mean just plain text |
17:54:16 | reactormonk | wtf? where does the face come from. |
17:54:17 | pigmej | without props |
17:54:27 | reactormonk | ah, gotta clean off props before calling it. |
17:54:53 | pigmej | the thing is, I had no problem with this |
17:54:54 | reactormonk | maybe make nimsuggest a bit more resilient too :-/ |
17:55:20 | reactormonk | how were you calling epc? |
17:55:31 | pigmej | is the answer 'normally' valid ? |
17:55:35 | reactormonk | sure |
17:55:51 | reactormonk | you can a) find out my version isn't working b) write your own |
17:55:55 | pigmej | https://github.com/pigmej/nim-mode/blob/epc/company-nim.el#L119 |
17:56:18 | reactormonk | ah, you call sync |
17:56:22 | reactormonk | I called async. |
17:56:54 | pigmej | async was also in the same way |
17:57:03 | pigmej | but hmm |
17:57:11 | pigmej | how the heck buffer-file-name contains faces? |
17:58:42 | reactormonk | pigmej, maybe you have some advising? |
17:59:07 | pigmej | "buffer-file-name #("/tmp/blah.nim" 1 4 (face flx-highlight-face))" |
17:59:08 | pigmej | wtf |
18:00:00 | * | DecoPerson quit (Remote host closed the connection) |
18:00:01 | * | TylerE quit (Remote host closed the connection) |
18:00:57 | pigmej | reactormonk: the good thing is that mine company is also not working now |
18:00:59 | * | fioco_ joined #nim |
18:01:10 | pigmej | because I also have that faces in buffer-file-name |
18:01:37 | * | fioco_ is now known as fioco |
18:01:38 | * | fioco quit (Changing host) |
18:01:38 | * | fioco joined #nim |
18:01:46 | * | fioco left #nim (#nim) |
18:03:05 | pigmej | hmm, my emacs theme changed because of time change |
18:03:24 | reactormonk | pwnd |
18:03:50 | reactormonk | also, your theme sucks if it's changing buffer-file-name |
18:04:22 | pigmej | maybe it uses some hook (because I also have powerline) |
18:04:22 | pigmej | anyway |
18:04:35 | pigmej | I see that quite common is (str (format "c(\"%s\")" (buffer-file-name)) |
18:04:45 | reactormonk | sounds about right to me |
18:04:47 | pigmej | so that's probably frequent issue ;d |
18:05:04 | reactormonk | so remove text properties? |
18:05:15 | pigmej | yup |
18:05:54 | pigmej | and now the other question is, should nimsuggest epc handle text with properties as normal text or what? |
18:06:03 | reactormonk | hopefully. |
18:07:36 | reactormonk | nimsuggest doesn't understand text properties. |
18:11:34 | pigmej | hmm |
18:12:45 | * | gokr_ quit (Read error: Connection reset by peer) |
18:17:51 | * | pipeep quit (Ping timeout: 248 seconds) |
18:19:30 | pigmej | reactormonk: also I have now 10 nimsuggest processes |
18:19:35 | Varriount | reactormonk: text properties? |
18:19:37 | pigmej | 9 dead 1 live, but epc sees them all |
18:19:51 | pigmej | Varriount: in elisp you can attach properties to text |
18:19:54 | reactormonk | pigmej, hm, maybe nim-find-or-create-epc needs to find the correct one |
18:20:16 | Varriount | pigmej: Neat. What is that mechanism used for? |
18:20:20 | * | pipeep joined #nim |
18:21:01 | pigmej | "everything" :D |
18:21:08 | pigmej | emacs uses it to display text |
18:21:26 | pigmej | you have a string where each position in string can have one or more properties (key / value pairs) |
18:23:36 | pigmej | reactormonk: >> SEND : ["00004e(call 4 sug (\"/tmp/blah.nim\" 24 10 \"/tmp/pigmej/nim-dirty12946Ipz/blah.nim\")) this also doesn't look valid |
18:23:49 | reactormonk | pigmej, yup :-/ |
18:23:51 | reactormonk | but better |
18:24:03 | reactormonk | what would be valid? |
18:24:09 | pigmej | without () |
18:24:14 | pigmej | flat structure |
18:24:26 | pigmej | "sug" "/tmp/blah.nim" .... |
18:25:39 | pigmej | ah no |
18:25:39 | pigmej | nvm |
18:28:26 | * | brson quit (Quit: leaving) |
18:30:29 | buttplug | araq whats this new gc |
18:30:58 | Araq | an idea in my head |
18:31:45 | Araq | that turns the per-thread GC into a bump-pointer allocator per-thread, turning it into a memory region allocator |
18:32:13 | Araq | but it's wrong to call it a "GC" |
18:32:33 | * | filcuc joined #nim |
18:32:52 | Araq | instead it frees the whole region with a single call and we tell the OS to unmap these pages so accesses trigger segfaults. yummy. |
18:33:05 | Araq | whether this idea has any merit remains to be seen. |
18:33:37 | pigmej | reactormonk: I think I will stay with my implementation, your way of managing epc seems problematic and I'm unable to fix it |
18:34:14 | reactormonk | pigmej, ok, just take over the nim-epc struct and make the calls to epc distinct from company so I can implement it in ac too |
18:34:34 | pigmej | that logic of autoselection thigns |
18:34:42 | reactormonk | huh? |
18:34:43 | pigmej | and auto managing seems broken somewhere ;/ |
18:34:51 | pigmej | (project, and correct epc conn) |
18:34:58 | pigmej | I'm getting nils everywhere now |
18:35:18 | reactormonk | ah fuck |
18:35:19 | pigmej | deferred error : (void-function nil) |
18:35:20 | pigmej | etc |
18:35:43 | pigmej | but my elisp fu is way to small to debug it ;/ |
18:36:18 | reactormonk | pigmej, that just says that the callback is dead |
18:36:41 | pigmej | hm |
18:37:01 | pigmej | then I have no ide why epc closes connection (which is exactly what happens) |
18:37:19 | pigmej | but I thought that it closes it because async crashes, but it seems that it's the other way |
18:38:10 | * | Mat4 joined #nim |
18:39:11 | pigmej | http://wklej.to/rDQaB/text |
18:39:17 | pigmej | and nothign more reactormonk |
18:40:14 | reactormonk | pigmej, so nimsuggest sends nil back. sounds good to me |
18:40:23 | reactormonk | that's an empty list. |
18:41:02 | reactormonk | nim-parse-epc should handle that correctly. |
18:41:54 | pigmej | reactormonk: well, when I spawn nimsuggest on my way |
18:41:58 | pigmej | it returns suggestions |
18:42:09 | pigmej | and that's weird |
18:42:17 | reactormonk | lemme compare |
18:42:28 | pigmej | code looks the same |
18:43:49 | pigmej | also if this resposne is valid then nim-parse-epc crashes |
18:44:09 | pigmej | it crashes even before it reaches nim-parse-epc |
18:44:32 | * | ggVGc quit (Ping timeout: 256 seconds) |
18:45:43 | reactormonk | so we're just calling it sync and be done with it? |
18:46:43 | pigmej | no idea |
18:46:55 | pigmej | I will check it in next 2hours |
18:47:05 | pigmej | because Champions League Final ;) |
18:47:26 | * | TylerE joined #nim |
18:47:26 | * | Siecje joined #nim |
18:47:50 | pigmej | reactormonk: if I will fail with your functions (they are cool), then I will just move that structs, I will move my current "startserver" things |
18:47:55 | pigmej | and we will fight with async later |
18:48:10 | reactormonk | pigmej, I'll fight with async once mor |
18:49:17 | pigmej | maybe I did something wrong also (quite possible) |
18:50:26 | reactormonk | so nim-find-or-create-epc works here |
18:51:23 | Arrrr | newFileStream should be renamed to openStream, just saying |
18:53:18 | reactormonk | pigmej, >> SEND : ["000045(call 17 sug (\"/tmp/test.nim\" 1 9 \"/tmp/nim-dirty4025E2T/test.nim\")) the call looks good |
18:53:30 | reactormonk | INCOMING: [epc con 16] ["00000F(return 17 nil)"] |
18:53:31 | reactormonk | muh |
18:53:45 | reactormonk | dom96, btw, nimsuggest still doesn't work outside the compiler |
18:56:39 | pigmej | reactormonk: works |
18:56:41 | pigmej | for me it works |
18:56:45 | reactormonk | hm. |
18:57:50 | pigmej | chcek my implementation and just nim:start-nimsuggest |
18:59:09 | reactormonk | pigmej, tells me it can't find system.nim |
18:59:53 | pigmej | ah yeah you have to have nimsuggest in the same dir as compiler |
19:00:04 | pigmej | I thought you mean to complete something other than compiler |
19:02:25 | reactormonk | Error: cannot open '/tmp/nim-dirty40254es/test.nim' |
19:02:30 | reactormonk | apparently the file is deleted too fast |
19:09:51 | reactormonk | pigmej, yup, got it to work |
19:10:45 | pigmej | that was taht delete? |
19:12:05 | reactormonk | https://github.com/reactormonk/nim-mode/commit/e1414f4907c7aa35d71c7f7cbe7fbfdee9668de4 |
19:12:32 | reactormonk | now the async part should work as expected, before that nimsuggest gave an error because it couldn't find the dirty file passed which was already deleted |
19:13:02 | pigmej | ah |
19:14:03 | reactormonk | https://gist.github.com/e4074a6b0d5bbd432d7d works for me now |
19:17:52 | vikaton | weird question, but whats an effective way of raising the CPU |
19:18:11 | * | Siecje quit (Quit: Leaving.) |
19:18:39 | Varriount | vikaton: Raising the CPU? |
19:19:01 | Varriount | vikaton: Perhaps putting your computer on a table will help? |
19:19:07 | pigmej | :D |
19:19:17 | vikaton | I mean taking up alot of memory |
19:19:26 | vikaton | idk why I said raising CPU |
19:19:40 | Varriount | vikaton: Oh, you mean CPU cycles? Or Physical memory? |
19:21:26 | vikaton | Varriount: http://prntscr.com/7dwh7q |
19:21:43 | pigmej | reactormonk: shouldn't it be nextc ? |
19:21:45 | pigmej | not mext ? |
19:21:49 | Varriount | vikaton: Repeatedly calling a system-based function should take up CPU cycles. Or adding a number over and over. |
19:21:51 | reactormonk | ah fuck |
19:22:13 | vikaton | ah ok |
19:22:17 | Varriount | vikaton: I'd call a system-based function, as the compiler might inline/unroll/optimize loops. |
19:22:44 | Varriount | It can't optimize away a function it knows nothing about (like one called from a system dll) |
19:23:18 | reactormonk | pigmej, still too early. :-/ |
19:24:10 | vikaton | Varriount: example of a system-based function? |
19:24:17 | vikaton | (may I see one) |
19:24:38 | dtscode | Varriount: Do you mean system call? |
19:24:52 | pigmej | reactormonk: also I have a question mabye we can use always the same file ? |
19:24:56 | pigmej | as a dirty file |
19:25:24 | reactormonk | pigmej, sounds like some ugly way to shoot yourself in the foot with two nimsuggest processes at the same time |
19:25:54 | pigmej | nah obviously one file per epc connection |
19:26:01 | reactormonk | still |
19:26:21 | pigmej | is nimsuggest threaded ? |
19:26:26 | reactormonk | it can be |
19:26:32 | pigmej | then yeah |
19:26:33 | reactormonk | although... probably not |
19:26:42 | Varriount | dtscode: Yes..? |
19:26:53 | reactormonk | but still, if you have one async call in there you're gonna get in a world of hurt if you use the same dirty file |
19:27:01 | Varriount | dtscode: It would be more appropriate to say I mean a call to a function in a DLL |
19:27:19 | dtscode | ah |
19:27:48 | Varriount | dtscode: And since most (if not all) of the Windows API is accessed through DLLs... |
19:28:04 | Araq | Varriount: or you look at the assembler to see what the compiler did |
19:28:42 | Varriount | Araq: Or that. But I was trying to answer what the best way to increase CPU usage would be. |
19:28:57 | * | DecoPerson joined #nim |
19:28:58 | vikaton | Varriount: so windows would be more appropriate than os ? |
19:29:08 | Varriount | vikaton: Huh? |
19:29:34 | vikaton | for the module |
19:29:36 | Varriount | vikaton: Windows is an OS |
19:29:44 | Varriount | vikaton: You've lost me. |
19:29:48 | vikaton | no module to use with Nim |
19:30:09 | reactormonk | pigmej, ok, now it works. argh. |
19:30:18 | vikaton | Varriount: import windows would be better than import os? |
19:31:06 | pigmej | ;D |
19:31:14 | reactormonk | pigmej, async is messy. but after you understand it somewhat clear why it didn't work |
19:31:38 | Varriount | vikaton: Uh.. just importing a module won't cause the CPU usage level to rise. |
19:31:43 | reactormonk | pigmej, now you should have a working nim-call-epc |
19:31:57 | vikaton | Varriount: You said I should use a system-based function |
19:32:19 | Varriount | vikaton: Or do something that keeps the CPU busy. |
19:33:11 | Araq | vikaton: just compile a Nim program. compilers tend to use the CPU ;-) |
19:33:30 | reactormonk | pigmej, https://gist.github.com/e4074a6b0d5bbd432d7d <- that's what you get now |
19:34:16 | Varriount | vikaton: https://gist.github.com/Varriount/d578e06b920ae69a9bb7 |
19:34:38 | vikaton | I see |
19:34:42 | vikaton | let's test |
19:34:51 | Varriount | vikaton: That program should take up the processing time of 1 core. |
19:35:57 | pigmej | reactormonk: k |
19:36:23 | pigmej | hmm |
19:36:54 | pigmej | reactormonk: your method leaks processes |
19:37:03 | pigmej | I just had 99 epc processes |
19:37:49 | reactormonk | pigmej, fuck |
19:38:35 | pigmej | epc:controller |
19:38:40 | pigmej | M-x epc:controller |
19:38:44 | reactormonk | cannot confirm |
19:38:51 | reactormonk | I only got two. |
19:38:56 | reactormonk | after 5 or so calls |
19:39:15 | pigmej | but 2 is one too much |
19:39:54 | reactormonk | killed all, only one after 5 calls |
19:41:48 | pigmej | hmm |
19:42:02 | Varriount | Araq: How would one go about using createThread with a procedure containing no arguments. |
19:42:04 | Varriount | ? |
19:42:04 | pigmej | maybe those are from errors |
19:42:15 | reactormonk | https://gist.github.com/73aa8cf1aa7f4bd5e0e8 <- works here |
19:42:18 | reactormonk | lists a list of procs |
19:43:56 | pigmej | hmm |
19:46:15 | pigmej | reactormonk: how can I debug lisp code? |
19:46:41 | pigmej | because I get now: deferred error : (wrong-type-argument listp [cl-struct-nim-epc "sug" "skProc" ("system" "GC_ref") "/home/pigmej/Apps/Nim/lib/system.nim" "proc (x: seq[T]){.gcsafe, locks: 0.}" 2144 7 ""]) |
19:46:46 | pigmej | which is clearly my fault |
19:46:55 | pigmej | but I wonder where is the reason |
19:47:41 | * | filcuc quit (Quit: Konversation terminated!) |
19:47:55 | reactormonk | pigmej, deferred error tells you it's somewhere in the callback |
19:48:19 | reactormonk | wrong-type-argument lisp tells you it expected a list but you gave it something else, apparently an cl-struct-nim-epc |
19:48:23 | pigmej | hmm |
19:48:32 | pigmej | nim-parse-epc |
19:48:41 | reactormonk | that one expects a list |
19:48:51 | pigmej | yeah but it crashes inside |
19:49:00 | reactormonk | still, expects a list. |
19:49:10 | reactormonk | mapcar crashes because it expected a list |
19:49:19 | pigmej | eh |
19:49:25 | reactormonk | or rather, a list of lists |
19:49:30 | pigmej | I meant it crashes inside nim-mode.el |
19:49:36 | pigmej | not coming from / to company |
19:49:45 | reactormonk | elisp to crash it? |
19:50:32 | * | filwit joined #nim |
19:50:55 | * | jefus quit (Ping timeout: 252 seconds) |
19:51:02 | pigmej | https://bpaste.net/show/27e03b207c37 |
19:51:05 | pigmej | from epc log |
19:51:13 | reactormonk | looks good... |
19:51:58 | pigmej | but crashes |
19:52:47 | reactormonk | still need elisp |
19:52:59 | pigmej | hmm |
19:56:07 | pigmej | hmm |
19:56:43 | notfowl | Varriount: void |
19:57:58 | pigmej | reactormonk: can I somehow trace last function call or sth ? |
19:58:45 | reactormonk | pigmej, there's debug... lemme see |
19:59:00 | reactormonk | I only know toggle-debug-on-error, but that might not work on async |
20:00:24 | reactormonk | https://github.com/kiwanami/emacs-deferred#debugging |
20:01:39 | pigmej | yeah "print debugging".. |
20:01:44 | * | Trustable joined #nim |
20:01:47 | reactormonk | yup >:) |
20:01:52 | pigmej | my favourite :D |
20:02:12 | reactormonk | how do you produce the error? |
20:02:33 | pigmej | company |
20:02:41 | reactormonk | I can't get it to run :-/ |
20:02:47 | pigmej | oh |
20:02:51 | pigmej | wait I will push my branch then |
20:03:06 | pigmej | it crashes but you will see the code |
20:03:10 | * | wan quit (Ping timeout: 272 seconds) |
20:04:16 | pigmej | reactormonk: pushed |
20:04:31 | pigmej | eval-buffer company-nim |
20:04:41 | pigmej | then in nim file |
20:04:45 | pigmej | M-x company-mode |
20:04:49 | pigmej | M-x company-nim |
20:04:54 | pigmej | and it will crash |
20:06:47 | pigmej | works? |
20:08:33 | * | cyraxjoe_ quit (Ping timeout: 256 seconds) |
20:09:46 | reactormonk | can confirm |
20:10:12 | * | cyraxjoe joined #nim |
20:10:59 | pigmej | last print is response from nim-mode.el:985 |
20:11:28 | reactormonk | pigmej, found the problem |
20:11:36 | pigmej | what did I wrong? |
20:11:38 | reactormonk | pigmej, company-nim--format-candidate won't work anymore |
20:11:39 | pigmej | ;D |
20:11:47 | pigmej | yeah I haven't yet changed it |
20:12:04 | pigmej | but where is my (message) from there? |
20:13:11 | * | Arrrr quit (Quit: WeeChat 1.2) |
20:14:54 | reactormonk | just kick it |
20:16:00 | * | wan joined #nim |
20:31:54 | reactormonk | pigmej, works? |
20:35:00 | * | vikaton quit () |
20:35:04 | pigmej | watching match. |
20:40:05 | reactormonk | pfft |
20:41:27 | * | brson joined #nim |
20:46:08 | Araq | Varriount: createThread[void](fn) |
20:46:28 | Araq | and yeah please add an overload for this, it's a common gotcha that even made it into the manual |
20:46:38 | pigmej | reactormonk: back |
20:47:04 | * | yglukhov________ quit (Quit: Be back later ...) |
20:47:12 | Araq | reactormonk: so ... how do I move this thing? any link for those of us to lazy to even google? |
20:47:28 | Araq | (or type ... it's "too" of course) |
20:47:35 | reactormonk | Araq, https://help.github.com/articles/transferring-a-repository/ |
20:47:40 | * | yglukhov________ joined #nim |
20:48:30 | * | yglukhov________ quit (Read error: Connection reset by peer) |
20:48:35 | Araq | "However, we don't redirect GitHub Pages associated with the repository." what does this mean? |
20:48:51 | * | yglukhov________ joined #nim |
20:49:20 | reactormonk | Araq, do we have any github pages? |
20:49:43 | Araq | I have no idea what that is |
20:49:58 | reactormonk | then probably not |
20:50:04 | Araq | yeah lol |
20:50:13 | reactormonk | IIRC they're a website hosted from your github repo from the ghpages branch |
20:50:22 | Araq | the wiki doesn't count, does it? |
20:51:45 | pigmej | reactormonk: nim-epc-{name_there} is some kind of macro ? |
20:52:02 | reactormonk | pigmej, yup, that's cl-defstruct |
20:52:08 | pigmej | lisp... ;D |
20:52:39 | reactormonk | Araq, nope |
20:53:08 | Araq | and it won't break the outstanding pull requests, right? |
20:53:31 | reactormonk | Keep in mind that users who have forked your repository will need to update their remote URLs to point to the new Git repository in order to continue opening pull requests. |
20:53:42 | * | yglukhov________ quit (Ping timeout: 265 seconds) |
20:53:49 | Araq | "continue"? |
20:53:56 | reactormonk | if you wanna open new ones |
20:53:58 | pigmej | change remotes ? |
20:54:03 | reactormonk | yup |
20:54:04 | Araq | does this mean "for *new* PRs"? |
20:54:12 | reactormonk | from what I read |
20:54:15 | Araq | or "for *outstanding* PRs"? |
20:55:11 | pigmej | afair currently opened pull requests will be fine |
20:55:23 | pigmej | because github transfers them AFTER repo is transfered |
20:59:44 | * | datanoise joined #nim |
21:00:13 | * | no_name quit (Ping timeout: 250 seconds) |
21:01:42 | pigmej | reactormonk: i changed that function and it still crashes, it's not even reaching it |
21:01:52 | reactormonk | pigmej, ah fuck |
21:03:13 | * | no_name joined #nim |
21:03:25 | pigmej | got it |
21:03:38 | reactormonk | what was it? |
21:03:39 | pigmej | works ;) |
21:03:47 | reactormonk | genius. |
21:03:56 | pigmej | fuzzy match |
21:04:11 | pigmej | it was still doing (last (car (nth 2 cand))) |
21:04:26 | pigmej | and because it was in mapcar then... :) |
21:04:35 | pigmej | it was really not reaching format function:) |
21:05:32 | * | jefus joined #nim |
21:06:08 | reactormonk | ^^ |
21:06:50 | pigmej | rebasing... |
21:08:16 | * | jefus quit (Client Quit) |
21:10:57 | pigmej | done reactormonk |
21:11:03 | pigmej | though we have a mess there still ;/ |
21:11:10 | reactormonk | time for some cleanup? |
21:11:29 | * | BlaXpirit_ joined #nim |
21:11:29 | * | BlaXpirit quit (Killed (sinisalo.freenode.net (Nickname regained by services))) |
21:11:29 | * | BlaXpirit_ is now known as BlaXpirit |
21:12:08 | pigmej | would be smart |
21:12:30 | pigmej | hmm |
21:12:35 | pigmej | I could delete my repo completely |
21:12:37 | pigmej | fork again |
21:12:41 | pigmej | then add company-nim.el |
21:12:45 | pigmej | as new file |
21:14:13 | pigmej | also reactormonk one more question |
21:14:26 | pigmej | do we add backend to company automaticaly or we will leave it for user? |
21:18:22 | * | gokr joined #nim |
21:20:22 | * | vikaton joined #nim |
21:20:39 | vikaton | Whats the equivalent of try: except: in Nim ? |
21:23:06 | Araq | try: except: |
21:23:15 | vikaton | o |
21:23:54 | pigmej | rotfl:D |
21:26:16 | Mat4 | how are reference cycles detected by the garbage-collector in Nim ? |
21:26:44 | Araq | Mat4: the algorithm is called "trial deletion" I think |
21:27:17 | reactormonk | pigmej, if you load company-backend, follow whatever the guys do in the other file you linked |
21:27:50 | * | vikaton quit () |
21:28:02 | * | vikaton joined #nim |
21:29:46 | Mat4 | Araq: Thanks, get it |
21:30:02 | pigmej | reactormonk: which one? |
21:30:15 | reactormonk | pigmej, the one you linked in the issue |
21:30:25 | pigmej | ah this one |
21:30:55 | Araq | yay. we have something to celebrate. |
21:30:55 | pigmej | they don't load auttomaticaly |
21:31:03 | Araq | 8000 posts on the forum. :-) |
21:31:07 | pigmej | Araq: oh :) |
21:32:47 | reactormonk | Araq, sweet |
21:34:14 | * | datanoise quit (Ping timeout: 265 seconds) |
21:37:55 | * | OnO quit (Ping timeout: 250 seconds) |
21:38:40 | pigmej | hmm |
21:39:57 | pigmej | reactormonk: I did it wrong, fixing ;P |
21:42:44 | * | brson quit (Ping timeout: 245 seconds) |
21:46:00 | * | Mat4 left #nim (#nim) |
21:47:28 | pigmej | reactormonk: hmm |
21:47:40 | pigmej | again my elisp fu is way too low |
21:50:23 | pigmej | I now get Symbol's value as variable is void: arg with company backend enabled, and I have no idea why, because interactive funct works |
21:51:43 | * | pregressive joined #nim |
21:54:19 | * | strcmp1 quit (Remote host closed the connection) |
21:54:25 | * | skyfex_ quit (Quit: (null)) |
22:01:59 | Varriount | onionhammer: I found out why add_on_change callbacks weren't working for me. Apparently ST2 doesn't like symlinked package dirs |
22:03:02 | * | bhishma joined #nim |
22:07:43 | * | strcmp1 joined #nim |
22:11:30 | * | BlaXpirit quit (Quit: Quit Konversation) |
22:24:28 | * | Trustable quit (Remote host closed the connection) |
22:28:18 | * | gokr_ joined #nim |
22:29:56 | * | gokr_ quit (Client Quit) |
22:31:19 | * | datanoise joined #nim |
22:39:27 | vikaton | Araq, 2000 stars on github is a soon to come celebration |
22:44:30 | reactormonk | pigmej, maybe the macro's bugged? |
22:45:49 | pigmej | it's exactly like in others as I see |
22:46:42 | pigmej | reactormonk: https://github.com/pigmej/nim-mode/blob/epc/company-nim.el#L109 |
22:47:10 | pigmej | 'args' there is "Symbol's value as variable is void: arg" |
22:47:12 | pigmej | wtf |
22:54:42 | * | datanoise quit (Ping timeout: 258 seconds) |
23:04:54 | vikaton | what does Error: expression 'echo ["The Negotiator"]' has no type (or is ambiguous) usually mean? |
23:05:04 | reactormonk | pigmej, sorry, had to blow up some internet spaceships |
23:05:27 | reactormonk | pigmej, I would assume arg is not set here... try a lexical-let around cl-case command |
23:05:31 | Araq | it means you do let foo = echo() but it makes no sense since echo doesn't return a value |
23:05:38 | reactormonk | pigmej, or cl-defun |
23:05:43 | reactormonk | ... if that exists |
23:06:02 | vikaton | ohhh |
23:06:05 | vikaton | makes sense |
23:06:14 | reactormonk | Araq, from what I read PRs are getting forwarded |
23:06:18 | pigmej | reactormonk: the problem is that noone is doing lexical-let there |
23:06:29 | reactormonk | pigmej, no one is doing async either? |
23:06:33 | vikaton | but why cant I do proc foo: echo "hello" |
23:06:34 | vikaton | ? |
23:06:37 | pigmej | they do |
23:06:39 | vikaton | I have to set it to void? |
23:06:58 | pigmej | but maybe without arg |
23:07:18 | pigmej | there is one with async witohut lexical-let https://github.com/tonini/alchemist.el/blob/master/alchemist-company.el#L72 |
23:07:19 | Araq | vikaton: use = instead of : |
23:07:34 | vikaton | oh woops |
23:07:37 | vikaton | got confused from python |
23:11:37 | pigmej | elpy also but they do different tricks: https://github.com/jorgenschaefer/elpy/blob/master/elpy.el#L3063 |
23:12:07 | pigmej | also the question reactormonk why it works as interactive function... |
23:13:46 | reactormonk | pigmej, then how about case instead of cl-case |
23:14:36 | pigmej | the same, I already checked it ;D |
23:15:34 | * | TEttinger joined #nim |
23:17:06 | * | pregressive quit (Ping timeout: 256 seconds) |
23:20:16 | * | vendethiel quit (Ping timeout: 252 seconds) |
23:23:26 | onionhammer | Varriount ah hm |
23:26:46 | onionhammer | Varriount i got latest, doc comments still arent working for me |
23:28:04 | onionhammer | Varriount scratch that... it worked the second time i tried it |
23:29:07 | onionhammer | then it stopeped for a while, then i restarted ST3 and it started working again the 2nd try |
23:29:24 | onionhammer | now it stopped again :) |
23:30:31 | onionhammer | first try in log says: |
23:30:34 | onionhammer | Could not import subprocess32 module, falling back to subprocess module |
23:31:06 | onionhammer | definition lookup gives me project.py", line 44, in get_project_file |
23:31:09 | onionhammer | raise IOError("Couldn't open session file.") |
23:31:30 | Varriount | onionhammer: I haven't worked on the lookup/nimsuggest stuff at all. |
23:31:39 | onionhammer | ok |
23:31:51 | onionhammer | it still could be the result of refactoring though, no? |
23:32:01 | Varriount | onionhammer: Does doc comment continuation work? |
23:32:10 | onionhammer | no, its sporadic |
23:32:16 | Varriount | O_o |
23:32:17 | onionhammer | maybe 20% of the time it works |
23:32:45 | Varriount | Here, let me put some debug lines in. |
23:35:12 | * | someplace quit (Quit: poof) |
23:35:53 | * | someplace joined #nim |
23:36:15 | onionhammer | k lemme know |
23:36:38 | Varriount | onionhammer: https://gist.github.com/Varriount/de1fc3839c66583779fd |
23:37:12 | onionhammer | Varriount got to go |
23:37:16 | Varriount | Aww. |
23:43:16 | * | skyfex_ joined #nim |
23:47:42 | * | skyfex_ quit (Ping timeout: 256 seconds) |
23:49:26 | * | ddl_smurf joined #nim |
23:50:59 | * | datanoise joined #nim |
23:53:07 | vikaton | does Nim have something similar to printf ? |
23:54:39 | pigmej | there is lib called sprintf afair |
23:54:40 | Varriount | vikaton: Not built-in. There are a couple of Nimble packages for printf functionality, and we have string formatting stuff in strutils. |
23:55:05 | * | Varriount wonders why people ask that question all the time |
23:55:27 | Varriount | I hardly ever hear it from people new to Python. :/ |
23:55:32 | pigmej | reactormonk: fixed and pushed (no idea why others don't have lexical-bind) |
23:55:34 | ddl_smurf | best practice is to create one file per string using http://nim-lang.org/docs/filters.html |
23:55:39 | * | datanoise quit (Ping timeout: 258 seconds) |
23:57:43 | * | JinShil joined #nim |
23:57:54 | jackv | how do I make the Nim compiler output C? |
23:58:10 | jackv | ah nvm I'm dumb |
23:58:12 | Varriount | jackv: It already does? Look in nimcache |
23:58:23 | jackv | yeah, I forgot about nimcache |
23:58:35 | * | dhasenan joined #nim |