<< 01-02-2016 >>

00:02:02gmpreussnerso, removing the plugin didn't fix it. i had to reboot my machine
00:02:10VarriountO_o
00:02:15VarriountIt fixed it for me.
00:02:15gmpreussnerafter reboot, ST2 started successfully - just bitching that NimLime is missing
00:02:27gmpreussnerso i pulled the latest NimLime again, and now i have the same problem as before
00:02:31Varriountgmpreussner: I'm coming up with a fix, it shouldn't take too long.
00:02:55gmpreussneri wonder why that message shows in the first place, i.e. why can it not find nim/nimsuggest anymore
00:03:28gmpreussneri think i was 17 commits behind before i updated - maybe that narrows it down!?
00:04:54Varriountgmpreussner: I already know the problem
00:09:25Varriountgmpreussner: Try it now.
00:09:27*Guest4360 quit (Ping timeout: 250 seconds)
00:09:32gmpreussnerok
00:09:52Varriountgmpreussner: The plugin now checks that the sublime text active window actually exists first.
00:10:11*Guest4360 joined #nim
00:12:07gmpreussnerVarriount: it's fixed :)
00:12:09*NhanH quit (Read error: Connection reset by peer)
00:12:28Varriountgmpreussner: Yay!
00:12:32gmpreussnerthat being said, 'The Nim executable could not be found' still
00:12:46Varriountgmpreussner: Nimsuggest support is still beta, and I need to add a compilation command.
00:12:51*NhanH joined #nim
00:13:12gmpreussnerso the message is expected for now?
00:13:39Varriountgmpreussner: look in the configuration file, under 'nim.executable'
00:13:50gmpreussnerCtrl+B works fine though
00:14:17Varriountif that command doesn't start Nim in the command prompt, then the plugin won't find it either.
00:14:54gmpreussner"nim.executable": "nim"
00:15:00gmpreussnerworks from command prompt, of course
00:15:03VarriountHm.
00:15:04*DecoPerson quit (Ping timeout: 250 seconds)
00:15:24gmpreussnerCtrl+B in ST2 works, too. just nimsuggest is no longer available
00:15:52*DecoPerson joined #nim
00:16:34gmpreussner'nimsuggest' also works from the command prompt
00:16:43gmpreussneri have all those in my PATH
00:16:50VarriountAh, found the problem.
00:18:37Varriountgmpreussner: Pull again.
00:19:03Varriountgmpreussner: What I mean is that the nimsuggest that comes with NimLime must be used.
00:19:18VarriountSo I need to write a command that builds it automatically.
00:23:39gmpreussnerah ok, one sec
00:24:15*vendethiel quit (Ping timeout: 245 seconds)
00:25:10*vendethiel joined #nim
00:25:11gmpreussnerVarriount: 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:56Varriountgmpreussner: Any error messages in the debug console?
00:27:28VarriountYou might have to scroll up all the way, they tend to be interspered with other plugins
00:27:41gmpreussneryeah, one sec, i'll pastebin
00:28:25gmpreussnerhttp://pastebin.com/sDDQSDYM
00:29:23*cfrantz quit (Quit: leaving)
00:40:44*yglukhov joined #nim
00:43:06Varriountgmpreussner: Ok, nimcheck should work now.
00:43:14*jaco60 quit (Ping timeout: 250 seconds)
00:43:28Varriountgmpreussner: Again, it was api difference issues.
00:43:44gmpreussnerok one sec
00:44:22Varriountgmpreussner: 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:54gmpreussnerVarriount: all fixed!
00:46:20gmpreussneruhm... no, I guess I'll check out ST3. i've just been pretty happy with ST2 :)
00:47:06Varriountgmpreussner: 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:59Varriountgmpreussner: 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:37gmpreussnerinstalling right meow :)
01:00:38Varriountgmpreussner: Also be aware that nimsuggest (both the internal one, and the main one) aren't perfect.
01:00:47gmpreussneroh, this looks great so far
01:00:55VarriountFor example, the goto stuff doesn't work for symbols outside the file.
01:01:24gmpreussnerit does find symbols in other modules for auto-completion, which in itself is worth a million bucks :)
01:01:33VarriountWait, it does?
01:01:45*Demon_Fox quit (Ping timeout: 245 seconds)
01:01:48gmpreussneryep
01:01:49*Varriount doesn't remember programming that.
01:02:12gmpreussnerit also doesn't have trouble with my deeply nested folder hierarchy anymore, it seems
01:02:42Varriountgmpreussner: So, decision time... announce on the forum and push a new tag for Package Control?
01:02:45gmpreussnerin ST2 i often had issues with imports not being found within modules in subfolders
01:03:37gmpreussneri can play around with it for a few hours
01:03:39*Demon_Fox joined #nim
01:04:13gmpreussneroh wait, it still does have issues with the folders :)
01:04:34gmpreussnerhow do you set up your nim.cfg for packages with lots of subdirectories?
01:05:20*desophos joined #nim
01:06:43gmpreussneri 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:51gmpreussnercompilation with Ctrl+B works fine
01:08:44gmpreussnerVarriount: do you have a package with a bunch of subfolders that i can look at?
01:16:01Varriountgmpreussner: You mean, a Nim package? No.
01:19:04gmpreussnerim not sure if it's a problem with my setup, or with NimLime
01:19:36gmpreussnerlet's say i have two modules: /src/a/b/c/d.nim and /src/a/b/x/y.nim
01:19:52gmpreussnerin the latter, there's #import a.b.c.d
01:20:14gmpreussnerNimLime syntax checker tells me that a.b.c.d cannot be opened and is highlighted red
01:20:24gmpreussnerwhen i hit build, it compiles fine
01:20:44Varriountgmpreussner: You might need to set a project file.
01:21:23gmpreussnermy sublime project file is located in the root dir (/)
01:21:32gmpreussnermy nim.cfg is in /src/nim.cfg
01:21:46gmpreussnerdo i need to modify the sublime project file somehow?
01:21:48Varriountgmpreussner: You'll still need to set a Nim project file - the main file.
01:22:32Varriountgmpreussner: Open command palette, type 'nim project'
01:22:45gmpreussneri don't have such a file right now. i got a bunch of targets in /apps
01:23:04gmpreussnerthe various apps (each with their own main file) share the same code base
01:23:17gmpreussnerperhaps i need a separate project for each of those?
01:23:42Varriountgmpreussner: Look, the way NimLime does things is that, in the absence of a project file, it just checks the individual file.
01:23:53VarriountTHere's no context about what paths should be looked in.
01:24:04VarriountOr rather, very little context.
01:24:31gmpreussneri see. so it needs some dummy .nim file somewhere - in the root dir, i suppose
01:24:36VarriountIf you have a sublime project open, you can associate a main nim file with it that is passed in.
01:24:39gmpreussnerand that nim files needs to be set up as the project file
01:24:49Varriountthat is passed in with the individual file to add some context.
01:25:34VarriountAlthough, I don't think the checking mechanism takes into account the project file yet.
01:25:50VarriountThat's a fix that might have to wait until tomorrow - I have coursework to finish.
01:26:51gmpreussneryeah, no worries
01:27:00gmpreussneri survived this long, another day won't matter ;)
01:27:40Varriountgmpreussner: I'm really proud of the plugin. It's finally to a point where I'm satisfied at the backend structure.
01:27:51gmpreussnerthat's good
01:28:20gmpreussneri think it's the best coding environment available right now
01:28:30gmpreussneri also got it to work with GDB at some point
01:28:38gmpreussnerstill 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:39bungomanIs 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:29def-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:02bungomanDarn, that was gonna be my next question.
03:04:14def-In Nim I'd suggest an imperative programming style, but you could write your own version of fold with more flexibility
03:07:17bungomanSo is something like this (pardon the formatting) considered idiomatic in Nim: factors = @[]
03:07:17bungomanfor i in 1..20:
03:07:18bungoman factors = overlap(prime_factors(i), factors)
03:07:24bungoman?
03:07:56bungomanprime_factors returns a seq and overlap takes a two seqs and returns a seq
03:08:14bungomanIt works just fine
03:08:49bungomanBut 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:07def-not sure what that code is doing
03:12:12def-you have a full code?
03:15:54bungomanYeah, https://github.com/seaneshbaugh/rosetta-euler/blob/master/nim/005/euler.nim#L46
03:16:14bungomanbut the whole program isn't too important, I was just looking to see if that little segment was idiomatic
03:31:58def-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:45SalewskiI 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:57Araq_Salewski: I think it would cause more confusion
10:15:21Araq_an array is a container directly embedding the data. an openarray is a pointer, length pair
10:20:39wuehlmauscan someone give me this awesome log writing-explanation URL of def- again?
10:21:32wuehlmausi seem to have not bookmarked it.
10:23:07wuehlmausdef-: or perhaps you yourself :)
10:24:41wuehlmausi found it!
10:28:03wuehlmausfor 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:14SalewskiAraq: 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:00derkadom96 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:47endragorI cannot read/write files with NimScript, can I?
15:21:03*mixedCase joined #nim
15:25:07mixedCaseHey 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:16Araq_hey mixedCase, the language is "partially case insensitive" and it'll stay this way unless multiple shitstorms hit me
15:27:32reactormonkAraq_, like a turkish locale?
15:27:53Araq_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:32Araq_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:24mixedCaseRegarding casing, is that what I read about the first letter being like in Go to determine wether it gets exported or not?
15:31:01mixedCaseAs 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:13mixedCases/consider//
15:33:22Araq_no, we just distinguish between Foo and foo so that 'var foo: Foo' works properly
15:33:36Araq_exporting a symbol is done with a postfix *
15:34:05Araq_which has the advantage that a visibility change is not a fucking renaming... Go really sucks in this respect.
15:34:41Araq_yes to your exception question.
15:37:17mixedCaseI 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:08reactormonkmixedCase, oh, and we have generics ;-)
15:43:05*derka quit (Quit: derka)
15:43:26*vendethiel quit (Ping timeout: 240 seconds)
15:45:48mixedCasereactormonk: 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:43Araq_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:39r-kuhmm why SomeOrdinal does not include uint64?
16:18:01*derka joined #nim
16:22:28Araq_because it's not an ordinal
16:25:29*mahasamoot joined #nim
16:29:48reactormonkAraq_, but but but generics are complicated :-)
16:30:40mahasamootinteractive (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:16Araq_mahasamoot: it's 'nim secret' now because the REPL is so poor ;-)
16:31:43Araq_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:13reactormonkmahasamoot, https://github.com/wheineman/nrpl
16:34:50mahasamootAraq_: I'm sorry to hear that. I'll try it out. Seeing what something does is often better than reading about it.
16:35:35mahasamootreactormonk: thanks for the tip. Is nrpl better than nim secret?
16:35:52reactormonkmahasamoot, it's a wrapper around nim -r c, not really a repl
16:36:34mahasamootoh
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:15wuehlmausi 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:09r-kuAraq_ 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:42Araq_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:40Araq_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:49dom96derka: 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:32flyxI am wondering what Nim does here: https://gist.github.com/flyx/71cb78a65164f18a54e3
19:27:49flyxwhen calling parse(ab), I'd expect it to print "A", but it prints "B"
19:28:22flyxT should resolve to A at compile time, shouldn't it?
19:30:23GaveUpis 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:11flyxGaveUp: well, if a package isn't usable, you'll get a compiler error… not sure what you're after
19:33:01def-flyx: methods are resolved at runtime
19:33:28GaveUpflyx: meant more repo side
19:33:41GaveUpas in warn X is broken on install or the like
19:34:10GaveUpflyx: complete newb but I'd expect A if I'm reading that code right
19:34:24flyxdef-: but generics at compile time…
19:34:26def-flyx: so the behaviour looks correct to me
19:35:01def-flyx: by calling print(b) you implicitly create a method print[B]
19:35:18ldleworkAnd B qualifies as an A
19:35:19def-flyx: then at runtime the type of ab is checked and since it's of type B print[B] is used
19:35:23GaveUper wait no B
19:36:01flyxdef-: ah interesting, when I remove print(b), print(ab) prints A
19:36:20ldleworkthat's slightly horrifying
19:36:32flyxbut kind of understandable
19:38:11def-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:31flyxdef-: but then we lose polymorphism
19:39:47*Demon_Fox quit (Quit: Leaving)
19:41:03ldleworkdeprecate methods? what the fuck?
19:41:40def-I guess I read it here: http://forum.nim-lang.org/t/1894/2
19:42:16def-and instead you can have an object and store closures in it
19:42:41ldleworkYay, I love that as an alternative!
19:42:44ldleworknot. :/
19:42:53*Matthias247 joined #nim
19:44:39flyxI didn't use methods much, but completely dropping them would be a major drawback
19:44:57ldleworkI use them.
19:48:51*yglukhov joined #nim
19:49:27matkukiAnyone used or is familiar with the nimrod-chipmunk wrapper?
19:53:44matkukiOr does anyone know how to contact fowlmouth?
19:53:52ldleworkmatkuki: sometimes in #nim-offtopic
19:54:24matkukiIdlework: thanks
19:57:32flyxwell 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:45matkukiBlaXpirit: How come your chipmunk7 wrapper is not accessible through nimble?
20:20:52*krux02 joined #nim
20:21:37krux02why can't I divide int64 and int64?
20:21:43BlaXpiritmatkuki, it's not good enough
20:21:49BlaXpiriti dont even know if it works
20:22:13krux02let a:int64 = 123
20:22:13krux02let b:int64 = 321
20:22:13krux02echo a / b
20:22:36krux02type mismatch: got (int64, int64)
20:22:48krux02wtf ‽
20:23:15matkukiBlaXpirit: Good to know, thanks. Will try it.
20:28:08def-krux02: / is for floats, div might be what you want
20:28:32def-hm, wait
20:29:23def-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:16def-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:14Araq_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:03def-Araq_: yeah, that's why i wondered why proc `/`(a, b: int): float is defined
20:44:15Araq_oversight :P
20:44:24Araq_should have been defined for int32 perhaps
20:47:19dom96ldlework: why aren't you in #nim-gamedev?
20:50:52ldleworkdom96: I recently accidentally deleted my ZNC so I forgot all the channels I was in
20:50:54ldleworkthanks
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:46mat4hello
21:50:40ldleworkhi mat4
21:50:49mat4hi 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:16gokrAraq_: Muaha, first experiments with spawn etc in Ni works! :)
23:40:41gokrIn my REPL this works fine: 10 timesRepeat: [spawn [sleep 1000 echo "yo"]] echo "done"
23:41:02gokr"done" comes first, then after a second a slew of "yo" :)
23:41:11*vendethiel quit (Ping timeout: 276 seconds)
23:41:21Araq_how do you do it?
23:41:51gokrAt 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:06gokrSo each thread has his own Ni Interpreter.
23:42:27gokrBut I can send over a Ni node (data is code etc) in the spawn.
23:43:04gokrFun stuff for sure.
23:46:13Araq_lol sounds like a hack. but then ... maybe it's not
23:46:23gokrWhich part?
23:46:47gokrYou mean an interpreter per thread?
23:46:56Araq_yeah
23:47:07Araq_you should implement green threads or something
23:47:10gokrWell, the interpreter holds the stack.
23:47:28Araq_you should have written a stackless interpreter
23:47:52Araq_in fact. you should have copied Nim's VM and modified it
23:47:55Araq_:P
23:47:56gokrHehe
23:48:14gokrThis 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)