00:02:02 | gmpreussner | so, removing the plugin didn't fix it. i had to reboot my machine |
00:02:10 | Varriount | O_o |
00:02:15 | Varriount | It fixed it for me. |
00:02:15 | gmpreussner | after reboot, ST2 started successfully - just bitching that NimLime is missing |
00:02:27 | gmpreussner | so i pulled the latest NimLime again, and now i have the same problem as before |
00:02:31 | Varriount | gmpreussner: I'm coming up with a fix, it shouldn't take too long. |
00:02:55 | gmpreussner | i wonder why that message shows in the first place, i.e. why can it not find nim/nimsuggest anymore |
00:03:28 | gmpreussner | i think i was 17 commits behind before i updated - maybe that narrows it down!? |
00:04:54 | Varriount | gmpreussner: I already know the problem |
00:09:25 | Varriount | gmpreussner: Try it now. |
00:09:27 | * | Guest4360 quit (Ping timeout: 250 seconds) |
00:09:32 | gmpreussner | ok |
00:09:52 | Varriount | gmpreussner: The plugin now checks that the sublime text active window actually exists first. |
00:10:11 | * | Guest4360 joined #nim |
00:12:07 | gmpreussner | Varriount: it's fixed :) |
00:12:09 | * | NhanH quit (Read error: Connection reset by peer) |
00:12:28 | Varriount | gmpreussner: Yay! |
00:12:32 | gmpreussner | that being said, 'The Nim executable could not be found' still |
00:12:46 | Varriount | gmpreussner: Nimsuggest support is still beta, and I need to add a compilation command. |
00:12:51 | * | NhanH joined #nim |
00:13:12 | gmpreussner | so the message is expected for now? |
00:13:39 | Varriount | gmpreussner: look in the configuration file, under 'nim.executable' |
00:13:50 | gmpreussner | Ctrl+B works fine though |
00:14:17 | Varriount | if that command doesn't start Nim in the command prompt, then the plugin won't find it either. |
00:14:54 | gmpreussner | "nim.executable": "nim" |
00:15:00 | gmpreussner | works from command prompt, of course |
00:15:03 | Varriount | Hm. |
00:15:04 | * | DecoPerson quit (Ping timeout: 250 seconds) |
00:15:24 | gmpreussner | Ctrl+B in ST2 works, too. just nimsuggest is no longer available |
00:15:52 | * | DecoPerson joined #nim |
00:16:34 | gmpreussner | 'nimsuggest' also works from the command prompt |
00:16:43 | gmpreussner | i have all those in my PATH |
00:16:50 | Varriount | Ah, found the problem. |
00:18:37 | Varriount | gmpreussner: Pull again. |
00:19:03 | Varriount | gmpreussner: What I mean is that the nimsuggest that comes with NimLime must be used. |
00:19:18 | Varriount | So I need to write a command that builds it automatically. |
00:23:39 | gmpreussner | ah ok, one sec |
00:24:15 | * | vendethiel quit (Ping timeout: 245 seconds) |
00:25:10 | * | vendethiel joined #nim |
00:25:11 | gmpreussner | Varriount: so, the error message on startup has disappeared. however, nimsuggest doesn't seem to be available. there's no syntax error highlighting, and no error summary on Save |
00:26:56 | Varriount | gmpreussner: Any error messages in the debug console? |
00:27:28 | Varriount | You might have to scroll up all the way, they tend to be interspered with other plugins |
00:27:41 | gmpreussner | yeah, one sec, i'll pastebin |
00:28:25 | gmpreussner | http://pastebin.com/sDDQSDYM |
00:29:23 | * | cfrantz quit (Quit: leaving) |
00:40:44 | * | yglukhov joined #nim |
00:43:06 | Varriount | gmpreussner: Ok, nimcheck should work now. |
00:43:14 | * | jaco60 quit (Ping timeout: 250 seconds) |
00:43:28 | Varriount | gmpreussner: Again, it was api difference issues. |
00:43:44 | gmpreussner | ok one sec |
00:44:22 | Varriount | gmpreussner: Any reason for using ST2 instead of ST3? |
00:45:05 | * | yglukhov quit (Ping timeout: 245 seconds) |
00:45:46 | * | vendethiel quit (Ping timeout: 240 seconds) |
00:45:54 | gmpreussner | Varriount: all fixed! |
00:46:20 | gmpreussner | uhm... no, I guess I'll check out ST3. i've just been pretty happy with ST2 :) |
00:47:06 | Varriount | gmpreussner: I ask, because there's a nice little error reporting mechanism I've created for the plugin, but it only works in ST3 |
00:48:59 | Varriount | gmpreussner: Plus, the nimsuggest integration is ST3 only. |
00:52:41 | * | vendethiel joined #nim |
00:53:34 | * | apotheon quit (Ping timeout: 250 seconds) |
00:55:37 | * | apotheon joined #nim |
00:56:37 | gmpreussner | installing right meow :) |
01:00:38 | Varriount | gmpreussner: Also be aware that nimsuggest (both the internal one, and the main one) aren't perfect. |
01:00:47 | gmpreussner | oh, this looks great so far |
01:00:55 | Varriount | For example, the goto stuff doesn't work for symbols outside the file. |
01:01:24 | gmpreussner | it does find symbols in other modules for auto-completion, which in itself is worth a million bucks :) |
01:01:33 | Varriount | Wait, it does? |
01:01:45 | * | Demon_Fox quit (Ping timeout: 245 seconds) |
01:01:48 | gmpreussner | yep |
01:01:49 | * | Varriount doesn't remember programming that. |
01:02:12 | gmpreussner | it also doesn't have trouble with my deeply nested folder hierarchy anymore, it seems |
01:02:42 | Varriount | gmpreussner: So, decision time... announce on the forum and push a new tag for Package Control? |
01:02:45 | gmpreussner | in ST2 i often had issues with imports not being found within modules in subfolders |
01:03:37 | gmpreussner | i can play around with it for a few hours |
01:03:39 | * | Demon_Fox joined #nim |
01:04:13 | gmpreussner | oh wait, it still does have issues with the folders :) |
01:04:34 | gmpreussner | how do you set up your nim.cfg for packages with lots of subdirectories? |
01:05:20 | * | desophos joined #nim |
01:06:43 | gmpreussner | i have all my code in /src. i tried putting the config into /src/nim.cfg as well as /nim.cfg, but when i'm inside, say, /src/foo/bar/one.nim that imports /src/bleh/boo/two.nim, i'm getting 'cannot open' errors from the syntax checker |
01:06:51 | gmpreussner | compilation with Ctrl+B works fine |
01:08:44 | gmpreussner | Varriount: do you have a package with a bunch of subfolders that i can look at? |
01:16:01 | Varriount | gmpreussner: You mean, a Nim package? No. |
01:19:04 | gmpreussner | im not sure if it's a problem with my setup, or with NimLime |
01:19:36 | gmpreussner | let's say i have two modules: /src/a/b/c/d.nim and /src/a/b/x/y.nim |
01:19:52 | gmpreussner | in the latter, there's #import a.b.c.d |
01:20:14 | gmpreussner | NimLime syntax checker tells me that a.b.c.d cannot be opened and is highlighted red |
01:20:24 | gmpreussner | when i hit build, it compiles fine |
01:20:44 | Varriount | gmpreussner: You might need to set a project file. |
01:21:23 | gmpreussner | my sublime project file is located in the root dir (/) |
01:21:32 | gmpreussner | my nim.cfg is in /src/nim.cfg |
01:21:46 | gmpreussner | do i need to modify the sublime project file somehow? |
01:21:48 | Varriount | gmpreussner: You'll still need to set a Nim project file - the main file. |
01:22:32 | Varriount | gmpreussner: Open command palette, type 'nim project' |
01:22:45 | gmpreussner | i don't have such a file right now. i got a bunch of targets in /apps |
01:23:04 | gmpreussner | the various apps (each with their own main file) share the same code base |
01:23:17 | gmpreussner | perhaps i need a separate project for each of those? |
01:23:42 | Varriount | gmpreussner: Look, the way NimLime does things is that, in the absence of a project file, it just checks the individual file. |
01:23:53 | Varriount | THere's no context about what paths should be looked in. |
01:24:04 | Varriount | Or rather, very little context. |
01:24:31 | gmpreussner | i see. so it needs some dummy .nim file somewhere - in the root dir, i suppose |
01:24:36 | Varriount | If you have a sublime project open, you can associate a main nim file with it that is passed in. |
01:24:39 | gmpreussner | and that nim files needs to be set up as the project file |
01:24:49 | Varriount | that is passed in with the individual file to add some context. |
01:25:34 | Varriount | Although, I don't think the checking mechanism takes into account the project file yet. |
01:25:50 | Varriount | That's a fix that might have to wait until tomorrow - I have coursework to finish. |
01:26:51 | gmpreussner | yeah, no worries |
01:27:00 | gmpreussner | i survived this long, another day won't matter ;) |
01:27:40 | Varriount | gmpreussner: I'm really proud of the plugin. It's finally to a point where I'm satisfied at the backend structure. |
01:27:51 | gmpreussner | that's good |
01:28:20 | gmpreussner | i think it's the best coding environment available right now |
01:28:30 | gmpreussner | i also got it to work with GDB at some point |
01:28:38 | gmpreussner | still need to write a tutorial, but got no time |
01:32:55 | * | Amrykid quit (Changing host) |
01:32:55 | * | Amrykid joined #nim |
01:36:15 | * | vendethiel quit (Ping timeout: 260 seconds) |
01:41:02 | * | lcm joined #nim |
01:47:12 | * | brson joined #nim |
01:55:14 | * | vendethiel joined #nim |
01:59:59 | * | brson quit (Quit: leaving) |
02:16:57 | * | vendethiel quit (Ping timeout: 265 seconds) |
02:20:20 | * | vendethiel joined #nim |
02:42:11 | * | yglukhov joined #nim |
02:43:06 | * | vendethiel quit (Ping timeout: 240 seconds) |
02:46:20 | * | yglukhov quit (Ping timeout: 245 seconds) |
02:47:47 | * | vendethiel joined #nim |
02:49:56 | * | lcm quit (Ping timeout: 276 seconds) |
02:56:42 | * | girvo joined #nim |
03:00:04 | * | bungoman joined #nim |
03:02:39 | bungoman | Is there a way to set an initial value when using foldr or foldl? Kinda like how you can with inject in Ruby or fold-right/fold-left in Scheme. I couldn't find any mention of it in the docs. |
03:03:29 | def- | bungoman: no, foldl and foldr in sequtils are a bit restricted in this, they also aggregate only in the type of the elements in the seq |
03:04:02 | bungoman | Darn, that was gonna be my next question. |
03:04:14 | def- | In Nim I'd suggest an imperative programming style, but you could write your own version of fold with more flexibility |
03:07:17 | bungoman | So is something like this (pardon the formatting) considered idiomatic in Nim: factors = @[] |
03:07:17 | bungoman | for i in 1..20: |
03:07:18 | bungoman | factors = overlap(prime_factors(i), factors) |
03:07:24 | bungoman | ? |
03:07:56 | bungoman | prime_factors returns a seq and overlap takes a two seqs and returns a seq |
03:08:14 | bungoman | It works just fine |
03:08:49 | bungoman | But I'm still trying to get a feel for what the preferred way of doing things is in Nim. |
03:10:44 | * | vendethiel quit (Ping timeout: 276 seconds) |
03:12:07 | def- | not sure what that code is doing |
03:12:12 | def- | you have a full code? |
03:15:54 | bungoman | Yeah, https://github.com/seaneshbaugh/rosetta-euler/blob/master/nim/005/euler.nim#L46 |
03:16:14 | bungoman | but the whole program isn't too important, I was just looking to see if that little segment was idiomatic |
03:31:58 | def- | I guess I'm too tired to find out anything useful |
03:38:48 | * | FreezerburnV joined #nim |
03:43:00 | * | ephja quit (Ping timeout: 250 seconds) |
03:49:06 | * | vqrs quit (Ping timeout: 240 seconds) |
03:50:14 | * | vqrs joined #nim |
04:43:43 | * | yglukhov joined #nim |
04:48:00 | * | yglukhov quit (Ping timeout: 245 seconds) |
04:54:56 | * | vqrs quit (Ping timeout: 240 seconds) |
04:57:50 | * | vqrs joined #nim |
05:01:30 | * | FreezerburnV quit (Ping timeout: 250 seconds) |
05:05:29 | * | vendethiel joined #nim |
05:15:44 | * | vangroan_ joined #nim |
05:28:32 | * | vendethiel quit (Ping timeout: 276 seconds) |
05:28:48 | * | endragor joined #nim |
05:34:00 | * | zaquest quit (Ping timeout: 250 seconds) |
05:38:17 | * | vangroan_ is now known as vangroan |
05:43:27 | * | apotheon_ joined #nim |
05:45:05 | * | lompik quit (Ping timeout: 245 seconds) |
05:48:03 | * | jackkv joined #nim |
05:48:25 | * | pigmej_ joined #nim |
05:48:39 | * | someplac- joined #nim |
05:49:30 | * | apotheon quit (*.net *.split) |
05:49:30 | * | Wildefyr quit (*.net *.split) |
05:49:31 | * | onionhammer quit (*.net *.split) |
05:49:32 | * | mtj_ quit (*.net *.split) |
05:49:32 | * | Gonzih quit (*.net *.split) |
05:49:33 | * | jackv quit (*.net *.split) |
05:49:33 | * | someplace quit (*.net *.split) |
05:49:33 | * | cnu- quit (*.net *.split) |
05:49:33 | * | heinrich5991 quit (*.net *.split) |
05:49:33 | * | pigmej quit (*.net *.split) |
05:49:33 | * | pigmej_ is now known as pigmej |
05:50:28 | * | heinrich5991 joined #nim |
05:52:00 | * | cnu- joined #nim |
05:55:59 | * | Gonzih joined #nim |
05:56:34 | * | mtj_ joined #nim |
05:56:37 | * | Wildefyr joined #nim |
05:57:56 | * | onionhammer joined #nim |
06:00:13 | * | zaquest joined #nim |
06:01:25 | * | lcm joined #nim |
06:01:54 | * | lcm quit (Client Quit) |
06:25:55 | * | endragor quit (Remote host closed the connection) |
06:29:51 | * | endragor joined #nim |
06:39:40 | * | girvo quit (Ping timeout: 245 seconds) |
06:45:10 | * | yglukhov joined #nim |
06:49:40 | * | yglukhov quit (Ping timeout: 245 seconds) |
06:54:20 | * | gokr quit (Ping timeout: 272 seconds) |
07:06:24 | * | darkf joined #nim |
07:10:58 | * | gour joined #nim |
07:36:38 | * | endragor quit (Remote host closed the connection) |
07:53:15 | * | endragor joined #nim |
08:14:44 | * | vendethiel joined #nim |
08:14:47 | * | vangroan_ joined #nim |
08:16:01 | * | gokr joined #nim |
08:16:42 | * | vangroan quit (Ping timeout: 256 seconds) |
08:20:45 | * | Trustable joined #nim |
08:30:06 | * | yglukhov joined #nim |
08:31:08 | * | lg_` quit (Remote host closed the connection) |
08:33:07 | * | vangroan_ quit (Quit: Leaving) |
08:36:02 | * | jaco60 joined #nim |
08:37:26 | * | vendethiel quit (Ping timeout: 240 seconds) |
08:37:42 | * | Demon_Fox quit (Quit: Leaving) |
08:41:55 | * | jaco60 quit (Ping timeout: 240 seconds) |
09:02:09 | * | coffeepot joined #nim |
09:36:27 | * | filcuc joined #nim |
09:52:06 | * | vendethiel joined #nim |
10:06:16 | * | Salewski joined #nim |
10:08:45 | Salewski | I still wonder why we need the verbose type name openArray. For openArray[int] plain array[int] should be OK. Open array can be used only for parameters, and when there is no range given, it should be clear that it is an open one. |
10:12:32 | * | johnsoft joined #nim |
10:14:57 | Araq_ | Salewski: I think it would cause more confusion |
10:15:21 | Araq_ | an array is a container directly embedding the data. an openarray is a pointer, length pair |
10:20:39 | wuehlmaus | can someone give me this awesome log writing-explanation URL of def- again? |
10:21:32 | wuehlmaus | i seem to have not bookmarked it. |
10:23:07 | wuehlmaus | def-: or perhaps you yourself :) |
10:24:41 | wuehlmaus | i found it! |
10:28:03 | wuehlmaus | for the one who missed it: http://hookrace.net/blog/writing-an-async-logger-in-nim/ |
10:31:42 | * | gokr1 joined #nim |
10:33:11 | * | endragor quit (Read error: Connection reset by peer) |
10:33:27 | * | endragor joined #nim |
10:34:05 | * | endragor quit (Remote host closed the connection) |
10:35:05 | * | gokr quit (Ping timeout: 245 seconds) |
10:38:36 | * | Dildosan joined #nim |
10:39:14 | Salewski | Araq: Yes you may be right again :-) I dont know how often openarray are used at all, so the long name may be not a big problem. (I think in Oberon the actual name was "ARRAY OF INT" , not OPENARRAY.) |
10:46:52 | * | desophos quit (Read error: Connection reset by peer) |
10:55:22 | * | vendethiel quit (Ping timeout: 256 seconds) |
10:57:08 | * | endragor joined #nim |
10:57:29 | * | RGeisel_5 joined #nim |
10:57:53 | * | vendethiel joined #nim |
10:58:31 | * | RGeisel_6 joined #nim |
11:00:49 | * | Dildosan1 joined #nim |
11:01:58 | * | Dildosan quit (Ping timeout: 250 seconds) |
11:02:40 | * | RGeisel_7 joined #nim |
11:03:10 | * | vinix joined #nim |
11:11:24 | * | endragor quit (Remote host closed the connection) |
11:12:54 | * | endragor joined #nim |
11:14:41 | * | RGeisel_8 joined #nim |
11:15:20 | * | arnetheduck joined #nim |
11:16:15 | * | Salewski quit () |
11:27:02 | * | matkuki joined #nim |
11:32:30 | * | endragor quit (Remote host closed the connection) |
11:32:43 | * | derka joined #nim |
11:39:26 | * | endragor joined #nim |
11:40:56 | * | vendethiel quit (Ping timeout: 240 seconds) |
11:49:32 | * | vendethiel joined #nim |
11:59:46 | * | matkuki quit (Quit: ChatZilla 0.9.92 [Firefox 44.0/20160123151951]) |
12:10:59 | * | vendethiel quit (Ping timeout: 264 seconds) |
12:11:59 | * | ephja joined #nim |
12:13:00 | derka | dom96 are you there |
12:40:47 | * | derka_ joined #nim |
12:41:40 | * | derka quit (Ping timeout: 248 seconds) |
12:41:40 | * | derka_ is now known as derka |
12:43:46 | * | BitPuffin joined #nim |
12:43:46 | * | gokr1 quit (Read error: Connection reset by peer) |
12:43:53 | * | gokr joined #nim |
13:00:55 | * | cnu- quit (Ping timeout: 240 seconds) |
13:01:40 | * | derka quit (Ping timeout: 260 seconds) |
13:05:55 | * | cnu- joined #nim |
13:07:20 | * | derka joined #nim |
13:29:28 | * | quark1 joined #nim |
13:37:43 | * | FreezerburnV joined #nim |
13:39:22 | * | vendethiel joined #nim |
13:47:34 | * | quark1 quit (Quit: Leaving) |
13:47:57 | * | junw joined #nim |
13:51:54 | * | Senketsu joined #nim |
14:00:56 | * | vendethiel quit (Ping timeout: 240 seconds) |
14:07:38 | * | lompik joined #nim |
14:12:10 | * | derka quit (Ping timeout: 240 seconds) |
14:14:33 | * | vinix quit (Quit: leaving) |
14:15:53 | * | saml_ joined #nim |
14:16:16 | * | derka joined #nim |
14:20:30 | * | derka quit (Ping timeout: 245 seconds) |
14:30:18 | * | derka joined #nim |
14:31:59 | * | lompik quit (Ping timeout: 264 seconds) |
14:32:58 | * | arnetheduck quit (Ping timeout: 256 seconds) |
14:34:32 | * | derka quit (Ping timeout: 252 seconds) |
14:34:46 | * | derka joined #nim |
14:44:17 | * | gokr quit (Ping timeout: 276 seconds) |
14:50:30 | * | apotheon_ is now known as apotheon |
14:50:47 | * | apotheon quit (Changing host) |
14:50:47 | * | apotheon joined #nim |
14:58:41 | * | warkid joined #nim |
14:59:08 | * | vendethiel joined #nim |
15:01:46 | * | bozaloshtsh quit (Ping timeout: 240 seconds) |
15:06:04 | * | FreezerburnV quit (Ping timeout: 252 seconds) |
15:07:15 | * | saml_ quit (Ping timeout: 240 seconds) |
15:08:47 | endragor | I cannot read/write files with NimScript, can I? |
15:21:03 | * | mixedCase joined #nim |
15:25:07 | mixedCase | Hey everyone, I've been eyeing Nim for a while and have a couple of questions: 1) Is case and underscore insensivity still in the language? 2) Is there some CSP-like concurrency library like the built-in one in Go? 3) Does the standard library favor exceptions over return values or vice-versa?. Thanks in advance. |
15:27:16 | Araq_ | hey mixedCase, the language is "partially case insensitive" and it'll stay this way unless multiple shitstorms hit me |
15:27:32 | reactormonk | Araq_, like a turkish locale? |
15:27:53 | Araq_ | 2) is in the works and expected to arrive for 0.14. the code has been written but needs to be debugged extensively |
15:28:32 | Araq_ | 3) it favors exceptions like Python does. however we have auto-annotations for the docgen mitigating the "what can be raised here?" problem |
15:30:24 | mixedCase | Regarding casing, is that what I read about the first letter being like in Go to determine wether it gets exported or not? |
15:31:01 | mixedCase | As for the exceptions, does that mean I can do something like, telling the compiler to consider treat those exceptions as if they are "checked"? Like, force the code to handle them? |
15:31:13 | mixedCase | s/consider// |
15:33:22 | Araq_ | no, we just distinguish between Foo and foo so that 'var foo: Foo' works properly |
15:33:36 | Araq_ | exporting a symbol is done with a postfix * |
15:34:05 | Araq_ | which has the advantage that a visibility change is not a fucking renaming... Go really sucks in this respect. |
15:34:41 | Araq_ | yes to your exception question. |
15:37:17 | mixedCase | I see. I myself like the casing system, but I guess it takes writing quite a bit of Go code to internalize it, so I get you. In any case, it really seems like Nim has come a long way since the last time I looked at it. Guess you've cornered me into trying it out for a personal project at some point. Thanks for answering my questions! |
15:37:42 | * | jaco60 joined #nim |
15:39:08 | reactormonk | mixedCase, oh, and we have generics ;-) |
15:43:05 | * | derka quit (Quit: derka) |
15:43:26 | * | vendethiel quit (Ping timeout: 240 seconds) |
15:45:48 | mixedCase | reactormonk: Kind learnt to live without them after truly understanding Go's interfaces, but they are occasionally missed indeed. |
15:58:22 | * | saml joined #nim |
16:05:43 | Araq_ | it's not about missing or not, it's fundamentally wrong to use runtime dynamism when compile-time suffices. If compile-time checks are not necessary why have a static type system in the first place? |
16:15:39 | r-ku | hmm why SomeOrdinal does not include uint64? |
16:18:01 | * | derka joined #nim |
16:22:28 | Araq_ | because it's not an ordinal |
16:25:29 | * | mahasamoot joined #nim |
16:29:48 | reactormonk | Araq_, but but but generics are complicated :-) |
16:30:40 | mahasamoot | interactive (repl) mode in .16? I'm trying to learn Nim, for which repl is very helpful, I used this koch option: "-d:useLinenoise use the linenoise library for interactive mode" however, nim i doesn't work --help / --advanced doesn't say a thing about interactive. |
16:31:16 | Araq_ | mahasamoot: it's 'nim secret' now because the REPL is so poor ;-) |
16:31:43 | Araq_ | but it exists and perhaps it's good enough for learning Nim |
16:31:53 | * | filcuc quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) |
16:32:13 | reactormonk | mahasamoot, https://github.com/wheineman/nrpl |
16:34:50 | mahasamoot | Araq_: I'm sorry to hear that. I'll try it out. Seeing what something does is often better than reading about it. |
16:35:35 | mahasamoot | reactormonk: thanks for the tip. Is nrpl better than nim secret? |
16:35:52 | reactormonk | mahasamoot, it's a wrapper around nim -r c, not really a repl |
16:36:34 | mahasamoot | oh |
16:42:47 | * | RGeisel_8 quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_7 quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_5 quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_6 quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_4 quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_3 quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_ quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel__ quit (Read error: Connection reset by peer) |
16:42:47 | * | RGeisel_1 quit (Read error: Connection reset by peer) |
16:42:48 | * | RGeisel quit (Read error: Connection reset by peer) |
16:42:48 | * | RGeisel_2 quit (Read error: Connection reset by peer) |
16:43:53 | * | derka quit (Quit: derka) |
16:44:15 | wuehlmaus | i used to use tnim with tcc as compiler. nim secret is wonderful and super fast when it works. if it breaks i go to tnim again. |
16:45:54 | * | vendethiel joined #nim |
16:47:09 | r-ku | Araq_ by what definition its not ordinal? seems to fit definition listed here http://www.freepascal.org/docs-html/ref/refsu5.html |
16:53:17 | * | endragor quit (Remote host closed the connection) |
16:58:46 | * | gmpreussner quit (Quit: kthxbye) |
17:01:42 | Araq_ | r-ku: it may surprise you but we don't care about the fpc spec when developing Nim ... |
17:01:57 | * | gmpreussner joined #nim |
17:02:26 | * | jsudlow quit (Quit: HydraIRC -> http://www.hydrairc.com <- The alternative IRC client) |
17:02:32 | * | derka joined #nim |
17:02:48 | * | jsudlow joined #nim |
17:02:55 | * | jsudlow quit (Read error: Connection reset by peer) |
17:03:23 | * | cyraxjoe quit (Ping timeout: 276 seconds) |
17:03:40 | Araq_ | it's not an ordinal for now because the compiler internally uses int64 everywhere and guess what an int64 cannot store uint64's upper bound |
17:05:49 | * | cyraxjoe joined #nim |
17:10:14 | * | coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
17:27:35 | * | vendethiel quit (Ping timeout: 245 seconds) |
17:30:14 | * | Trustable quit (Remote host closed the connection) |
17:34:49 | dom96 | derka: please don't ask to ask. What's up? |
17:34:55 | * | vqrs quit (Ping timeout: 240 seconds) |
17:37:51 | * | vqrs joined #nim |
17:39:00 | * | vendethiel joined #nim |
17:49:13 | * | GaveUp joined #nim |
18:00:58 | * | vendethiel quit (Ping timeout: 252 seconds) |
18:02:10 | * | yglukhov quit (Ping timeout: 245 seconds) |
18:08:39 | * | vendethiel joined #nim |
18:14:21 | * | gokr joined #nim |
18:20:58 | * | mixedCase quit (Quit: WeeChat 1.3) |
18:24:12 | * | brson joined #nim |
18:29:31 | * | vendethiel quit (Ping timeout: 245 seconds) |
18:33:57 | * | Demon_Fox joined #nim |
18:37:34 | * | Dildosan1 left #nim ("Leaving") |
18:38:54 | * | mahasamoot quit (Ping timeout: 256 seconds) |
18:40:05 | * | vendethiel joined #nim |
18:45:01 | * | shodan45 joined #nim |
18:46:50 | * | BitPuffin quit (Read error: Connection reset by peer) |
18:49:39 | * | qazwsx_ joined #nim |
19:10:48 | * | yglukhov joined #nim |
19:11:44 | * | wuehlmaus quit (Quit: Lost terminal) |
19:16:12 | * | wuehlmaus joined #nim |
19:27:32 | flyx | I am wondering what Nim does here: https://gist.github.com/flyx/71cb78a65164f18a54e3 |
19:27:49 | flyx | when calling parse(ab), I'd expect it to print "A", but it prints "B" |
19:28:22 | flyx | T should resolve to A at compile time, shouldn't it? |
19:30:23 | GaveUp | is there any process that verifies packages are usable? As someone just starting out and already being bitten by broken packages it's a bit annoying. Related, any plans to freeze at some point and esure backwards compatibility? |
19:31:11 | flyx | GaveUp: well, if a package isn't usable, you'll get a compiler error… not sure what you're after |
19:33:01 | def- | flyx: methods are resolved at runtime |
19:33:28 | GaveUp | flyx: meant more repo side |
19:33:41 | GaveUp | as in warn X is broken on install or the like |
19:34:10 | GaveUp | flyx: complete newb but I'd expect A if I'm reading that code right |
19:34:24 | flyx | def-: but generics at compile time… |
19:34:26 | def- | flyx: so the behaviour looks correct to me |
19:35:01 | def- | flyx: by calling print(b) you implicitly create a method print[B] |
19:35:18 | ldlework | And B qualifies as an A |
19:35:19 | def- | flyx: then at runtime the type of ab is checked and since it's of type B print[B] is used |
19:35:23 | GaveUp | er wait no B |
19:36:01 | flyx | def-: ah interesting, when I remove print(b), print(ab) prints A |
19:36:20 | ldlework | that's slightly horrifying |
19:36:32 | flyx | but kind of understandable |
19:38:11 | def- | iirc the plan is to deprecate methods |
19:38:23 | * | matkuki joined #nim |
19:38:44 | * | yglukhov quit (Remote host closed the connection) |
19:38:57 | * | Dildosan joined #nim |
19:39:31 | flyx | def-: but then we lose polymorphism |
19:39:47 | * | Demon_Fox quit (Quit: Leaving) |
19:41:03 | ldlework | deprecate methods? what the fuck? |
19:41:40 | def- | I guess I read it here: http://forum.nim-lang.org/t/1894/2 |
19:42:16 | def- | and instead you can have an object and store closures in it |
19:42:41 | ldlework | Yay, I love that as an alternative! |
19:42:44 | ldlework | not. :/ |
19:42:53 | * | Matthias247 joined #nim |
19:44:39 | flyx | I didn't use methods much, but completely dropping them would be a major drawback |
19:44:57 | ldlework | I use them. |
19:48:51 | * | yglukhov joined #nim |
19:49:27 | matkuki | Anyone used or is familiar with the nimrod-chipmunk wrapper? |
19:53:44 | matkuki | Or does anyone know how to contact fowlmouth? |
19:53:52 | ldlework | matkuki: sometimes in #nim-offtopic |
19:54:24 | matkuki | Idlework: thanks |
19:57:32 | flyx | well if methods may get deprecated, I probably don't need to implement polymorphism in my YAML serializer for now |
20:00:55 | * | qazwsx_ quit (Quit: qazwsx_) |
20:03:12 | * | Dildosan quit (Remote host closed the connection) |
20:04:12 | * | derka_ joined #nim |
20:06:10 | * | Dildosan joined #nim |
20:06:14 | * | derka quit (Ping timeout: 250 seconds) |
20:06:15 | * | derka_ is now known as derka |
20:14:27 | * | yglukhov quit (Remote host closed the connection) |
20:20:45 | matkuki | BlaXpirit: How come your chipmunk7 wrapper is not accessible through nimble? |
20:20:52 | * | krux02 joined #nim |
20:21:37 | krux02 | why can't I divide int64 and int64? |
20:21:43 | BlaXpirit | matkuki, it's not good enough |
20:21:49 | BlaXpirit | i dont even know if it works |
20:22:13 | krux02 | let a:int64 = 123 |
20:22:13 | krux02 | let b:int64 = 321 |
20:22:13 | krux02 | echo a / b |
20:22:36 | krux02 | type mismatch: got (int64, int64) |
20:22:48 | krux02 | wtf ‽ |
20:23:15 | matkuki | BlaXpirit: Good to know, thanks. Will try it. |
20:28:08 | def- | krux02: / is for floats, div might be what you want |
20:28:32 | def- | hm, wait |
20:29:23 | def- | not sure why it's defined just for int, but not for any other int type. |
20:29:58 | * | derka quit (Ping timeout: 256 seconds) |
20:30:16 | def- | a.float / b.float is what I would do, then you're also aware that you have to convert types |
20:31:05 | * | derka joined #nim |
20:36:14 | Araq_ | again, if float is 64 bits and so is 'int' how can you convert to it implicitly? it's simply not correct, it can lose information. |
20:39:44 | * | pwernersbach joined #nim |
20:39:46 | * | mahasamoot joined #nim |
20:41:34 | * | Dildosan quit (Remote host closed the connection) |
20:44:03 | def- | Araq_: yeah, that's why i wondered why proc `/`(a, b: int): float is defined |
20:44:15 | Araq_ | oversight :P |
20:44:24 | Araq_ | should have been defined for int32 perhaps |
20:47:19 | dom96 | ldlework: why aren't you in #nim-gamedev? |
20:50:52 | ldlework | dom96: I recently accidentally deleted my ZNC so I forgot all the channels I was in |
20:50:54 | ldlework | thanks |
21:01:13 | * | nchambers quit (Changing host) |
21:01:14 | * | nchambers joined #nim |
21:29:03 | * | derka quit (Quit: derka) |
21:41:22 | * | junw quit (Ping timeout: 256 seconds) |
21:41:57 | * | gour quit (Quit: WeeChat 1.3) |
21:45:12 | * | ruph joined #nim |
21:47:13 | * | ruph left #nim (#nim) |
21:47:23 | * | derka joined #nim |
21:49:42 | * | mat4 joined #nim |
21:49:46 | mat4 | hello |
21:50:40 | ldlework | hi mat4 |
21:50:49 | mat4 | hi ldlework |
21:54:53 | * | darkf quit (Quit: Leaving) |
21:59:32 | * | derka quit (Ping timeout: 248 seconds) |
22:08:22 | * | yglukhov joined #nim |
22:14:11 | * | Jesin quit (Quit: Leaving) |
22:19:45 | * | Varriount quit (Quit: Leaving) |
22:23:26 | * | mahasamoot quit (Ping timeout: 272 seconds) |
22:23:49 | * | Varriount joined #nim |
22:25:00 | * | Varriount quit (Remote host closed the connection) |
22:33:47 | * | matkuki quit (Quit: ChatZilla 0.9.92 [Firefox 44.0/20160123151951]) |
22:37:07 | * | pwernersbach_ joined #nim |
22:38:03 | * | pwernersbach quit (Ping timeout: 252 seconds) |
22:42:40 | * | Varriount joined #nim |
22:43:38 | * | yglukhov quit (Remote host closed the connection) |
22:43:47 | * | Dildosan joined #nim |
22:44:11 | * | Dildosan quit (Client Quit) |
22:53:02 | * | mat4 quit (Quit: Verlassend) |
22:53:12 | * | vendethiel quit (Ping timeout: 272 seconds) |
22:56:48 | * | Demon_Fox joined #nim |
22:57:19 | * | vendethiel joined #nim |
22:57:44 | * | junw joined #nim |
23:02:51 | * | Varriount quit (Ping timeout: 245 seconds) |
23:04:34 | * | Varriount joined #nim |
23:09:43 | * | junw_ joined #nim |
23:13:23 | * | junw quit (Ping timeout: 264 seconds) |
23:28:48 | * | shodan45 quit (Quit: Konversation terminated!) |
23:31:29 | * | Jesin joined #nim |
23:40:16 | gokr | Araq_: Muaha, first experiments with spawn etc in Ni works! :) |
23:40:41 | gokr | In my REPL this works fine: 10 timesRepeat: [spawn [sleep 1000 echo "yo"]] echo "done" |
23:41:02 | gokr | "done" comes first, then after a second a slew of "yo" :) |
23:41:11 | * | vendethiel quit (Ping timeout: 276 seconds) |
23:41:21 | Araq_ | how do you do it? |
23:41:51 | gokr | At the moment each spawned thread guy does newInterpreter() and then the AST node tree representing that code block gets deep copied into it. |
23:42:06 | gokr | So each thread has his own Ni Interpreter. |
23:42:27 | gokr | But I can send over a Ni node (data is code etc) in the spawn. |
23:43:04 | gokr | Fun stuff for sure. |
23:46:13 | Araq_ | lol sounds like a hack. but then ... maybe it's not |
23:46:23 | gokr | Which part? |
23:46:47 | gokr | You mean an interpreter per thread? |
23:46:56 | Araq_ | yeah |
23:47:07 | Araq_ | you should implement green threads or something |
23:47:10 | gokr | Well, the interpreter holds the stack. |
23:47:28 | Araq_ | you should have written a stackless interpreter |
23:47:52 | Araq_ | in fact. you should have copied Nim's VM and modified it |
23:47:55 | Araq_ | :P |
23:47:56 | gokr | Hehe |
23:48:14 | gokr | This is more fun for me. I wouldn't have grokked your stuff. |
23:52:57 | * | vendethiel joined #nim |
23:58:46 | * | pwernersbach_ quit (Quit: Page closed) |