00:04:30 | * | mahmudov joined #nim |
00:34:59 | rauss | TiberiumN: did you ever figure signals out? |
00:41:39 | * | arnetheduck joined #nim |
00:54:52 | FromGitter | <zacharycarter> @krux02 you around by any chance? |
00:55:08 | FromGitter | <zacharycarter> I need openglz helpz! |
01:04:31 | skrylar | zacharycarter: skeasing updated earlier; has a nim package now, uses somereal type |
01:23:32 | * | yglukhov joined #nim |
01:27:35 | * | yglukhov quit (Ping timeout: 240 seconds) |
01:38:27 | FromGitter | <zacharycarter> good deal |
01:38:40 | FromGitter | <zacharycarter> I have a feeling I'll have use for it soon skrylar |
01:40:35 | * | skrylar quit (Ping timeout: 240 seconds) |
01:41:38 | * | skrylar joined #nim |
01:42:24 | * | arnetheduck quit (Ping timeout: 260 seconds) |
01:44:44 | def-pri-pub | zacharycarter: I'm pulled from the latest `zengine` and installed it (along with the `assimp` fork). I'm now getting a segfault on running. |
01:45:40 | def-pri-pub | https://pastebin.com/VAZYge3h |
01:46:50 | FromGitter | <zacharycarter> hrm |
01:47:11 | FromGitter | <zacharycarter> try running it again def-pri-pub |
01:47:58 | FromGitter | <zacharycarter> I don't know why but some residual memory bug is lingering |
01:48:24 | FromGitter | <zacharycarter> on the way to shadows |
01:48:26 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/SeD8/Screen-Shot-2017-08-09-at-9.46.39-PM.png) |
01:49:17 | def-pri-pub | did you just push a new update? |
01:49:31 | FromGitter | <zacharycarter> nope |
01:49:48 | def-pri-pub | yeah, I'm still getting the same issue. |
01:50:09 | FromGitter | <zacharycarter> hrm... let me try cloning on a linux vm |
01:50:12 | def-pri-pub | I'm supposed to run the program from the root of the repo, correct? that was an issue before. |
01:50:39 | FromGitter | <zacharycarter> yup currently file paths are relative to that location |
01:52:24 | def-pri-pub | I think that is has something to do with `addr lines.colors[0]` at that line |
01:52:49 | FromGitter | <zacharycarter> it very well might, but as far as I can tell these examples work on my machine upon a fresh clone |
01:53:13 | FromGitter | <zacharycarter> which example is this btw? 00? |
01:53:50 | def-pri-pub | pj wait, I think I know what the issue and fix is. |
01:53:54 | def-pri-pub | Gimmie a sec to test it |
01:54:02 | FromGitter | <zacharycarter> sure |
01:55:28 | def-pri-pub | got it |
01:55:30 | def-pri-pub | I'll post a patch |
01:55:38 | FromGitter | <zacharycarter> :shipit: |
01:55:40 | FromGitter | <zacharycarter> thanks |
01:56:23 | FromGitter | <zacharycarter> we need more folks working on zengine rather than godot :P |
01:58:24 | def-pri-pub | patch posted |
01:58:27 | def-pri-pub | :fixit: |
01:58:32 | FromGitter | <zacharycarter> looking now |
02:00:00 | FromGitter | <zacharycarter> merged |
02:00:42 | def-pri-pub | watch dem datatypes |
02:01:13 | * | chemist69 quit (Ping timeout: 276 seconds) |
02:01:25 | FromGitter | <zacharycarter> yeah good catch |
02:02:53 | FromGitter | <zacharycarter> just pushed up the start of the shadows example |
02:03:59 | def-pri-pub | You also seem to be pushing binaries as well |
02:04:07 | FromGitter | <zacharycarter> ugh |
02:04:12 | FromGitter | <zacharycarter> I need to fix gitignore I'll do that now |
02:04:28 | def-pri-pub | :] |
02:05:57 | * | skrylar quit (Ping timeout: 240 seconds) |
02:06:09 | FromGitter | <zacharycarter> fixt |
02:07:05 | def-pri-pub | You also might want to do some repo cleanning and rip the other (accidental) binaries from the repo. the examples/data takes up 58 MB, but in total the repo is a 133MB. |
02:07:20 | def-pri-pub | I can't remember how to do that though... |
02:07:58 | FromGitter | <zacharycarter> alright I'll figure it out now before I forget |
02:08:05 | Demos[m] | git filter-branch |
02:08:06 | def-pri-pub | qgit rm -rf --cached` |
02:08:10 | Demos[m] | followed by arcane bullshit |
02:08:15 | Demos[m] | but it reqrites history |
02:08:45 | def-pri-pub | yeah, that sucks, but at least you've got the clunky-huge-do-nothing binaries gone. |
02:09:00 | Demos[m] | yeah, just make sure everyone is on the same page |
02:09:02 | Demos[m] | before you do |
02:09:24 | def-pri-pub | Look at RayLib. It's repo is pushing 0.5 GB, for what is a very tiny libraries |
02:09:27 | Demos[m] | afaik after doing that everyone else won't be able to just git pull |
02:09:39 | def-pri-pub | yeah, that screws with everyone's git history |
02:09:43 | Demos[m] | and I think a git pull -r will put the binaries back in! |
02:09:55 | FromGitter | <zacharycarter> bleh |
02:09:59 | Demos[m] | best is a maybe git fetch |
02:10:08 | Demos[m] | then git branch -f master origin/master |
02:10:08 | Demos[m] | maybe |
02:10:13 | Demos[m] | idk |
02:10:19 | Demos[m] | then git prune ofc |
02:10:34 | def-pri-pub | or a `git reset --hard origin/master` |
02:10:44 | Demos[m] | will that detach your head? |
02:10:48 | Demos[m] | lol |
02:10:57 | def-pri-pub | eh, what's wrong with a little decapitation now and then? |
02:11:09 | FromGitter | <zacharycarter> https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery#Removing-Objects |
02:11:16 | Demos[m] | well you actually want to update refs/heads/master |
02:11:18 | FromGitter | <zacharycarter> sounds about like what you're describing |
02:12:09 | * | cncl quit (Quit: WeeChat 0.4.0) |
02:14:05 | Demos[m] | bagh I want sparse repos and seperable blobs(header/content) |
02:14:15 | Demos[m] | then we could just commit big files to git and not worry about it |
02:14:27 | Demos[m] | and like checkout would be fast on Cow filesystems |
02:14:32 | * | chemist69 joined #nim |
02:18:32 | FromGitter | <zacharycarter> meh I'm not too worried about the big binary blobs atm, I'll rewrite this history later |
02:18:43 | FromGitter | <zacharycarter> too much no care atm |
02:18:57 | FromGitter | <zacharycarter> paired with not wanting to screw up the entire repo |
02:26:58 | * | endragor joined #nim |
02:50:37 | FromGitter | <codenoid> hi, is nim have a web framework |
02:50:55 | FromGitter | <codenoid> jester |
03:10:38 | * | skrylar joined #nim |
03:28:05 | * | dankrad quit (Ping timeout: 240 seconds) |
03:28:18 | * | dankrad joined #nim |
03:32:37 | * | dddddd quit (Remote host closed the connection) |
03:35:06 | FromGitter | <codenoid> ```ayam@laptop:~/Downloads/nim-0.17.0$ nim -v ⏎ bash: /usr/bin/nim: No such file or directory``` [https://gitter.im/nim-lang/Nim?at=598bd46a4bcd78af562caad7] |
03:42:55 | Demos[m] | holy shit powershell tends to output strings in UTF-16 w/ \r\n |
03:43:01 | Demos[m] | and it's a great way to corrupt things |
03:43:04 | Demos[m] | like my git repo |
03:43:21 | FromGitter | <codenoid> hi, how to update nim compiler |
03:43:36 | FromGitter | <codenoid> i install from `apt-get install nim` |
03:43:53 | Demos[m] | apt update && apt full-upgrade |
03:44:06 | Demos[m] | assuming ubuntu / debian has updated the compiler |
03:48:01 | Demos[m] | otherwise build from sources, I think there's some nimbrew tool or something to help you but I don't use it |
03:48:57 | FromGitter | <codenoid> i do ⏎ ⏎ ```sh build.sh ⏎ bin/nim c koch ⏎ ./koch tools``` ⏎ ⏎ and got nothing [https://gitter.im/nim-lang/Nim?at=598bd7a976a757f8088e418c] |
03:49:31 | def-pri-pub | The Nim version in the ubuntu repos are woefully out of date |
03:49:42 | def-pri-pub | Follow the instructions on the GitHub README on how to install it from source. |
03:49:51 | FromGitter | <codenoid> ok |
03:50:36 | def-pri-pub | My current job has taught me how to do debian packaging, but I'm not 100% confident I could make something nice for Nim |
03:50:39 | Demos[m] | s/Nim/everything/ |
03:50:41 | Demos[m] | :) |
03:59:42 | * | pilne quit (Quit: Quitting!) |
04:09:57 | * | def-pri-pub quit (Quit: leaving) |
04:11:28 | * | gangstacat quit (Quit: Leaving) |
04:12:06 | * | mahmudov quit (Remote host closed the connection) |
04:13:01 | skrylar | i much prefer arch packaging |
04:14:06 | skrylar | arch maintainers don't deal with boilerplate files, there's just a package spec to give it a version and dep tags, how to run make, and makepkg deals with the rest. i poked in to debian/redhat a little and having to deal with spec files that list everything is bogus |
04:14:15 | skrylar | yea you can automate it but why haven't *they* done it? |
04:14:30 | Demos[m] | rpm is not that bad |
04:14:33 | Demos[m] | deb is annoying |
04:14:42 | Demos[m] | rpm does have cool stuff like depending on symbols |
04:15:04 | skrylar | eeh i poke a rhel-like every so often and it gives anneurisms |
04:15:16 | Demos[m] | I don't mind em |
04:15:18 | skrylar | dnf is tolerable |
04:15:36 | Demos[m] | I've only really used Fedora and tumbleweed recently tho |
04:15:51 | skrylar | fedoras on dnf now. so yea, its tolerable. but still slow and bandwidth hungry. |
04:16:13 | skrylar | pacman is done speedily. so is alpine apk. apt is right behind those two. and then dnf likes to mill about |
04:16:41 | skrylar | i guess they're all better than portage |
04:16:48 | * | skrylar does not miss fbsd ports |
04:17:00 | skrylar | i love everything else about that system but the packaging |
04:17:01 | Demos[m] | fwiw abs is portsish |
04:17:21 | Demos[m] | writing makefiles makes me want to gouge my eyes out |
04:17:36 | skrylar | yea pacman/mkpkg just have some bash to tell it how to run the build script |
04:17:41 | skrylar | which is a better way to go |
04:17:59 | Demos[m] | yeah |
04:18:05 | Demos[m] | although I also hate bash scripting |
04:18:06 | Demos[m] | but meh |
04:18:14 | Demos[m] | as long as it's just simple commands |
04:18:15 | skrylar | you can manage the four lines it takes :> |
04:18:20 | Demos[m] | yeha |
04:18:35 | skrylar | i would love if the plan9 devs somehow had a frankenbaby with freebsd and used arch or alpine's package manager |
04:19:02 | Demos[m] | I want a package manager where I can install stuff locally |
04:19:10 | skrylar | they all do that |
04:19:16 | skrylar | unless you meant as in within ~ |
04:19:21 | skrylar | which brew does on osx iirc |
04:19:23 | Demos[m] | yeah within ~ |
04:19:30 | Demos[m] | brew defaults to /usr/local |
04:19:36 | skrylar | poop |
04:19:43 | Demos[m] | but has that owned by uid 1000 |
04:20:00 | Demos[m] | anyway I have a nim based ports system I use for local builds around the office |
04:20:07 | Demos[m] | kinda a waste of time to write tho |
04:20:25 | skrylar | some would argue everything i do is a waste of time :< |
04:20:57 | Demos[m] | lol yeah |
04:21:19 | Demos[m] | spent today unfucking fbx as much as I could |
04:21:23 | Demos[m] | that was not a lot of fun |
04:21:26 | skrylar | flimbox? |
04:21:37 | Demos[m] | autodesk's asset format |
04:21:39 | Demos[m] | "open" |
04:21:39 | skrylar | yea no |
04:21:46 | skrylar | its open in that the library is free |
04:21:56 | Demos[m] | the library is "free" as in "free beer" |
04:22:03 | skrylar | i wouldn't touch it with a pole. DAE exists for a reason and so does assimp ^^ |
04:22:03 | Demos[m] | but the license is mega not libre |
04:22:16 | Demos[m] | dae is also autodesk afaik |
04:22:22 | skrylar | sony |
04:22:26 | skrylar | collada is published by sony |
04:22:28 | Demos[m] | oh |
04:22:31 | Demos[m] | ah right |
04:22:38 | skrylar | its xml hell though and autodesk butchers their dae files |
04:22:40 | Demos[m] | autodesks dae exporters are broken af' |
04:22:43 | skrylar | yes |
04:22:52 | skrylar | it exports to fbx and runs a zero-effort converter on that |
04:22:55 | Demos[m] | goal is to use gltf |
04:23:01 | skrylar | don't recall |
04:23:11 | skrylar | oh some new kronos thing |
04:23:12 | Demos[m] | trouble is assimp uses a buggy reverse engineered fbx impl |
04:23:16 | Demos[m] | yeah |
04:23:24 | Demos[m] | but waiting on Qt3D to move to 2.0 |
04:23:38 | skrylar | i seem to recall gltf was useless but maybe its better now |
04:23:40 | Demos[m] | and assimp only supports a few fbx versions |
04:23:48 | Demos[m] | support is widening |
04:23:48 | skrylar | i looked at one point and it was a more complicated version of... obj. |
04:23:53 | Demos[m] | ?? |
04:23:54 | Demos[m] | not really |
04:23:59 | Demos[m] | it has a scenegraph |
04:24:06 | Demos[m] | also supports materials natively |
04:24:15 | Demos[m] | I mean in the end dae is a more complicated obj :D |
04:24:21 | Demos[m] | also 2.0 is indeed much better |
04:24:23 | skrylar | well. this was when it just came out |
04:24:28 | skrylar | it had support for nothing but static models |
04:24:29 | Demos[m] | another nice bit is that it supports pbr materials oob |
04:24:35 | Demos[m] | oh lol |
04:24:45 | skrylar | tbh all you need is ebml |
04:24:46 | Demos[m] | it's got skinning, textures, mats, animations, and the like now |
04:24:48 | Demos[m] | ?? |
04:24:55 | skrylar | matroska's underlying bin format |
04:24:58 | skrylar | it's binary xml |
04:25:20 | skrylar | every app has its own weird stuff so these format redos will never win |
04:25:23 | Demos[m] | that sounds like something I would have to fuck around with to parse |
04:25:27 | skrylar | i mean people will use them but someone will just make a new one in six months |
04:25:30 | Demos[m] | yeah |
04:25:37 | skrylar | what works is the ietf stuff |
04:25:37 | Demos[m] | actual open formats do help |
04:25:47 | skrylar | "hey guys just use X-MyShit until we all figure out what that means" |
04:26:11 | Demos[m] | well yeah because when you have to xmit stuff and actually have multiple impls you need the standard |
04:26:32 | skrylar | lot of web stuff has those though |
04:26:52 | skrylar | x-headers are just "all headers look like this, if it has an X- then just ignore it unless you know what it is" |
04:27:09 | skrylar | have to have somewhere to stuff your apps cool new stuff that nobody knows how to use yet |
04:27:26 | Demos[m] | gltf has that too |
04:27:32 | Demos[m] | special protocol for defining extensions |
04:27:37 | skrylar | am i going to have an anneurism if i look at this spec |
04:27:39 | * | skrylar opens |
04:27:44 | Demos[m] | it's not that bad |
04:29:45 | skrylar | oh. its a json file. |
04:30:33 | skrylar | meh, fair enough. |
04:30:40 | skrylar | I'm more of a msgpack person but dunno |
04:31:24 | skrylar | I kinda want to play with the newer gl stuff but.. eh. |
04:31:35 | skrylar | The ROI on writing state of the art engines is low |
04:32:37 | skrylar | this spec is a disgraceful 83 pages. although it is just json files, so fair enough |
04:32:39 | Demos[m] | they have a binary format as well |
04:32:55 | skrylar | I find irony in json's advantage being "it fits on an index card" |
04:33:17 | Demos[m] | it's not so bad |
04:33:38 | skrylar | its not |
04:34:50 | skrylar | wonder if nimble has a sax model for reading json |
04:35:24 | skrylar | its probably not that important, since people usually don't ship assets in interchange formats. so the advantage of the sax model for loading art assets is moot |
04:35:44 | Demos[m] | also gltf has a custom binary representation |
04:35:57 | Demos[m] | designed for fast and easy loading into rasterization based engine |
04:36:05 | skrylar | well most engines convert models in to whatever they use in ram anyway |
04:36:23 | Demos[m] | yeah but the less copies/traversals the better |
04:36:43 | skrylar | i remember that was the main thing people talked about xna |
04:36:44 | Demos[m] | imo the real important thing is to design the interchanged format to discorage data munging |
04:36:46 | skrylar | the pipeline tool |
04:37:38 | skrylar | i realize this is being stupid but i wonder if it would be possible to train one of those deep neural nets to spot bad code |
04:38:23 | skrylar | I suppose the answer is "yes, but" with the but being "have fun getting examples of that" |
04:54:10 | skrylar | are people actually doing server things with nim these days |
04:55:31 | skrylar | well there's an idae |
04:55:55 | skrylar | Was just thinking about having a macro for rpc code replace any return sfrom remote functions with promise objects. that's simple enough |
04:56:24 | skrylar | then pondering a separate macro such that whenever you were to receive a promise object, it instead wrapped the rest of the function as a closure nodejs style |
04:56:41 | skrylar | So in the macro it just looks like a normal set of "give me this crap, and that thing, then do these things" |
05:39:18 | * | rauss quit (Quit: WeeChat 1.9) |
05:40:45 | * | tdc joined #nim |
06:18:40 | * | dankrad quit (Ping timeout: 260 seconds) |
06:31:02 | * | Vladar joined #nim |
06:31:31 | * | nsf joined #nim |
06:52:40 | * | skrylar quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
06:52:58 | * | skrylar joined #nim |
06:56:07 | * | skrylar_ joined #nim |
06:58:00 | * | Parashurama joined #nim |
06:59:46 | * | skrylar_ quit (Client Quit) |
07:04:44 | * | skrylar quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
07:13:27 | * | empxre joined #nim |
07:15:07 | * | empxre quit (Client Quit) |
07:15:22 | * | empxre joined #nim |
07:19:55 | * | empxre quit (Client Quit) |
07:20:18 | * | empxre joined #nim |
07:26:53 | * | empxre quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
07:32:26 | * | yglukhov joined #nim |
07:37:01 | * | yglukhov quit (Ping timeout: 255 seconds) |
07:41:19 | * | yglukhov joined #nim |
07:46:22 | * | yglukhov quit (Ping timeout: 276 seconds) |
07:46:52 | * | yglukhov joined #nim |
07:47:27 | * | couven92 joined #nim |
07:54:39 | * | tdc quit (Read error: Connection reset by peer) |
07:55:04 | * | tdc joined #nim |
07:56:35 | * | nattefrost joined #nim |
07:57:22 | * | Parashurama quit (Ping timeout: 260 seconds) |
08:10:14 | * | Arrrr joined #nim |
08:10:14 | * | Arrrr quit (Changing host) |
08:10:14 | * | Arrrr joined #nim |
08:19:14 | Arrrr | Will nim support fat binaries? |
08:23:46 | * | Andris_zbx joined #nim |
08:28:11 | couven92 | Arrrr, isn't it the compiler that has to support that? |
08:28:37 | couven92 | The compiler backend that is? |
08:29:17 | Arrrr | C is the usual backend anyway |
08:34:52 | * | Parashurama joined #nim |
08:42:10 | * | cspar_ quit (Ping timeout: 240 seconds) |
08:45:47 | * | Tiberium joined #nim |
08:46:48 | FromGitter | <TiberiumN> wow |
08:46:57 | FromGitter | <TiberiumN> (https://files.gitter.im/nim-lang/Nim/9lkW/image.png) |
08:48:07 | couven92 | @TiberiumN, what? |
08:48:32 | FromGitter | <TiberiumN> like I went to sleep 11 hours ago |
08:48:46 | FromGitter | <TiberiumN> and now there's much more notifications on github :) |
08:48:51 | couven92 | dom96 has been busy! :D |
08:48:56 | FromGitter | <TiberiumN> yeah |
08:49:04 | FromGitter | <TiberiumN> wow guys |
08:49:07 | FromGitter | <TiberiumN> we have 1024 issues |
08:49:17 | FromGitter | <TiberiumN> 1 kilobyte! |
08:49:25 | couven92 | yaih! :D |
08:49:40 | FromGitter | <k0pernicus> 1 kB of issues |
08:50:23 | FromGitter | <TiberiumN> well according to https://githubstats.com/nim-lang/Nim nim is gaining popularity |
08:50:30 | FromGitter | <TiberiumN> everything is going up |
08:50:49 | FromGitter | <TiberiumN> issues/forks/stars/pulls/commits |
08:51:24 | Arrrr | The stars bar is getting erected |
08:51:45 | FromGitter | <TiberiumN> we need 4k stars! |
08:55:30 | couven92 | ooops... I actually hadn't starred the Nim repo yet! :O |
08:55:51 | FromGitter | <TiberiumN> aargh! |
08:56:49 | couven92 | ooh, I am number 36 in the constrinbutors graph! :D |
08:57:32 | FromGitter | <TiberiumN> I'm a number 86 only :D |
08:59:45 | couven92 | well, GitHub counts by number of commits appearently, and I tend to make a lot of very small commits... I have only ~532 LOC touched, while krux02 (right behind me) has 2468 LOCs touched |
08:59:51 | federico3 | is there a timeline on those stats? |
08:59:56 | FromGitter | <TiberiumN> yes |
08:59:58 | FromGitter | <TiberiumN> you can see it |
09:02:24 | * | dom96|w joined #nim |
09:02:42 | * | mjanssen joined #nim |
09:03:14 | mjanssen | is there a way to import a global C library var in Nim. The logical var tclStubsPtr : ptr TclStubs ; {.importc.} |
09:03:24 | mjanssen | gives a compiler error |
09:04:10 | couven92 | mjanssen, `var TclStubs {.importc.}: ptr TclStubs` I think... |
09:05:36 | couven92 | mjanssen, this will BTW even work with #define symbols if you want... However, even though defines are constant, Nim still requires those to be declared with var |
09:06:27 | couven92 | there currently is an issue or PR somewhere that suggest this to be enabled with `let` iirc |
09:07:37 | * | mjanssen_ joined #nim |
09:08:18 | FromGitter | <Varriount> @dom96 @Araq I believe there are some threads on the forum that need to be approved |
09:08:43 | Araq | varriount: you are moderator, you can approve people |
09:10:05 | dom96|w | Araq: release this weekend? |
09:10:19 | Araq | fine with me |
09:10:26 | FromGitter | <TiberiumN> yay |
09:10:36 | FromGitter | <TiberiumN> csources will contain android c sources as well |
09:10:46 | Araq | you need to eloborate on the "mingw missing files" issue |
09:11:12 | Araq | the mingws we ship is what I use for development on Windows myself |
09:11:17 | FromGitter | <TiberiumN> 1) 17.2 version number? or 0.18.0 ? |
09:11:23 | Araq | 0.17.2 |
09:12:34 | dom96|w | Araq: did you look at the linked issue? |
09:16:08 | Araq | I will look into it, but it's strange 'nim cpp ' is part of the testsuite and I run the tests on my machine with the mingws we ship |
09:17:58 | FromGitter | <TiberiumN> hmm, probably I should solve deprecated errors in nimble |
09:18:45 | couven92 | Araq, hmm... I currently booting Nim with koch on origin/devel and after the first iteration nim seems painfully slow (while processing the nim code, not the compiler call) |
09:19:35 | Araq | couven92: pull the most recent version ? that was fixed |
09:19:43 | couven92 | ah, okay :) |
09:20:08 | couven92 | curious, what made it so slow? |
09:22:32 | couven92 | ah found it: https://github.com/nim-lang/Nim/commit/153441db1da722c0fb5c210a09d9a83a5d1b9656 |
09:23:08 | Araq | your nose is getting good |
09:23:54 | couven92 | sorry... I realized that since you said it had just been fixed, I just needed to bo backwards in the origin/devel commit log |
09:26:51 | FromGitter | <TiberiumN> dom96: would it be safe to add client: HttpClient to "Auth" type in nimble? publish.nim |
09:26:59 | FromGitter | <TiberiumN> I just want to remove all deprecated warnings |
09:27:26 | FromGitter | <TiberiumN> and creating new httpclient every time seems to be a little bit verbose |
09:36:54 | * | mjanssen| joined #nim |
09:37:20 | dom96|w | There might be a more appropriate type, but stick it in there for now. |
09:37:59 | FromGitter | <TiberiumN> well I don't need to create many http client instances in other places |
09:38:02 | FromGitter | <TiberiumN> just in publish.nim |
09:38:30 | FromGitter | <TiberiumN> also, what is this? https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/publish.nim#L233 |
09:38:50 | * | mjanssen_ quit (Ping timeout: 240 seconds) |
09:38:50 | FromGitter | <TiberiumN> can we remove when isMainModule, because code inside it is not correct? |
09:42:05 | FromGitter | <TiberiumN> at least tests are green |
09:45:06 | dom96|w | why is it not correct? |
09:45:17 | FromGitter | <TiberiumN> because there is no such procedures |
09:45:40 | dom96|w | huh, ok, remove it. |
09:49:14 | * | mjanssen_ joined #nim |
09:50:35 | FromGitter | <TiberiumN> ok, publish works - https://github.com/nim-lang/packages/pull/561 |
09:51:05 | * | mjanssen| quit (Ping timeout: 240 seconds) |
09:51:31 | euantor | Since you're here and I just looked at the issue list, this can be closed now can't it? https://github.com/nim-lang/packages/issues/553 |
09:54:42 | FromGitter | <TiberiumN> dom96: https://github.com/nim-lang/nimble/pull/387 |
09:55:02 | dom96|w | I'll look at it later. :) |
10:06:24 | couven92 | dom96|w, how do I set the nimcache directory in a .nimble? |
10:06:51 | dom96|w | all compiler options should go into a .nims or .nim.cfg |
10:07:25 | couven92 | ah! okay... so in a nim.cfg I write: `nimcache: "someDir"`? |
10:08:04 | couven92 | difference between mynimble.nims and mynimble.cfg? |
10:09:01 | * | GustavoLapasta joined #nim |
10:09:59 | couven92 | dom96|w, regardless of where I put my .cfg file, it does not work at all! |
10:11:00 | couven92 | i.e. setting the nimcache has no effect whatsoever |
10:15:05 | Tiberium | what is the preferred way to raising compile-time errors in macro? |
10:15:22 | Tiberium | just "raise" ? |
10:15:45 | dom96|w | you sure that's the parameter? does it work on the command line? |
10:19:10 | couven92 | dom96|w, running `nim c --nimcache:mynimblenimcache mynimble` works just fine. but when I create mynimble.cfg next to the nim file, and write `nimcache:mynimblenimcache` into it, `nimble build` will just ignore it |
10:19:27 | dom96|w | .nim.cfg, not just .cfg |
10:19:33 | couven92 | ah! |
10:20:24 | couven92 | and what is the correct/preferred syntax in the .nim.cfg file? `--nimcache: dir`, `nimcache: dir` or `nimcache = dir`? |
10:21:32 | Araq | --nimcache: dir |
10:21:54 | euantor | Tiberium: Using `{.error: "something broke".}` should do it I think |
10:22:37 | couven92 | Araq, thanks! is there a reason why? because I remember that I use `cc = vcc` in my %APPDATA%\nim.cfg |
10:23:45 | Araq | couven92: that syntax is mostly compatible with NimScript |
10:23:55 | couven92 | ah okay :) |
10:24:03 | Araq | so you can rename the .nim.cfg to .nims and it still works (cough) |
10:24:22 | couven92 | Araq, and why would I want to do that? |
10:26:16 | Araq | .nims is the future |
10:26:38 | couven92 | oh, okay... :) |
10:28:22 | Tiberium | euantor, I mean I check name of called API method inside of macro, and if it's wrong I raise an error |
10:28:56 | euantor | Ah, then probably just raise an exception I'd say |
10:29:18 | Tiberium | ok :) |
10:30:30 | * | mjanssen_ quit (Ping timeout: 240 seconds) |
10:41:36 | * | haha_ joined #nim |
10:44:54 | Araq | no, you use macros.error |
10:46:59 | mjanssen | couven92: works great, thanks |
10:48:08 | * | mahtov quit (Ping timeout: 255 seconds) |
10:51:27 | Tiberium | Araq, thanks |
10:56:09 | * | mahtov joined #nim |
11:13:46 | * | mjanssen_ joined #nim |
11:13:47 | * | gokr joined #nim |
11:21:22 | * | GustavoLapasta quit (Quit: Leaving) |
11:30:00 | * | dom96|w quit (Read error: Connection reset by peer) |
11:36:34 | * | Tiberium quit (Remote host closed the connection) |
11:52:25 | * | dom96|w joined #nim |
11:54:51 | Parashurama | Hey |
11:54:52 | Parashurama | Araq: Can you tell me where in the VM the implicit initialisation of array happen |
11:54:54 | Parashurama | in code like this: |
11:54:55 | Parashurama | proc test(): array[4, MyType] = discard |
11:54:57 | Parashurama | static: |
11:54:58 | Parashurama | echo test() |
11:55:00 | Parashurama | I'm trying to hunt down a bug where if MyType is a closure type, the c code is messed-up. |
11:55:26 | Araq | getNullValue iirc |
11:58:45 | * | wgf_ joined #nim |
11:59:22 | * | BitPuffin|osx joined #nim |
12:00:03 | Parashurama | Okay thanks |
12:03:03 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
12:25:13 | * | sakalli quit (Ping timeout: 276 seconds) |
12:26:39 | * | krux02 joined #nim |
12:28:36 | * | tdc_ joined #nim |
12:30:57 | * | tdc quit (Ping timeout: 240 seconds) |
12:41:32 | * | Arrrr quit (Read error: Connection reset by peer) |
12:44:16 | * | dom96|w joined #nim |
12:45:57 | couven92 | Araq, is `"Hello World".len` const? |
12:46:11 | Araq | yes |
12:46:33 | couven92 | great! :) |
13:04:35 | * | Vladar quit (Ping timeout: 240 seconds) |
13:06:42 | * | wgf_ quit (Quit: Leaving) |
13:14:56 | * | arnetheduck joined #nim |
13:17:54 | * | rauss joined #nim |
13:18:07 | * | sakalli joined #nim |
13:30:22 | * | haha_ quit (Quit: haha_) |
13:36:36 | FromGitter | <TiberiumN> also, are version numbers prefixed with year? because it looks like it :) |
13:36:41 | FromGitter | <TiberiumN> like 0.17.0 is 2017 |
13:36:44 | FromGitter | <TiberiumN> 1) 16.0 is 2016 |
13:36:56 | FromGitter | <TiberiumN> ah, it's not 2016 |
13:38:36 | couven92 | How do I importc an extern variable in nim? does importc do that on its own already? |
13:40:08 | * | sakalli quit (Ping timeout: 260 seconds) |
13:42:39 | dom96|w | hah, coincidence :) |
13:43:08 | dom96|w | or.. we will get v1.0 in 2100 :P |
13:43:43 | FromGitter | <TiberiumN> no pls |
13:47:41 | * | sz0 joined #nim |
13:50:49 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
13:51:45 | * | dom96|w joined #nim |
14:01:18 | couven92 | how do I forward declare an identifier? |
14:02:00 | FromGitter | <TiberiumN> identifier? |
14:02:03 | FromGitter | <TiberiumN> var? |
14:02:09 | FromGitter | <krux02> no it will be like mame |
14:02:23 | FromGitter | <krux02> never ending version 0.xxx |
14:02:43 | FromGitter | <TiberiumN> well |
14:02:47 | FromGitter | <krux02> couver92 identifier is not very specific |
14:02:57 | FromGitter | <TiberiumN> people are *afraid* of 0.x versions |
14:02:59 | FromGitter | <krux02> you can forward declare a function |
14:03:11 | FromGitter | <krux02> just leave out everyngith starting at = |
14:03:28 | FromGitter | <krux02> well developers are afraid of 1.xx versions |
14:04:08 | couven92 | ah, sorry, okay I need to forward declare a type |
14:04:23 | FromGitter | <krux02> well I think that is problematic |
14:04:34 | FromGitter | <krux02> but within a type section you don't need to forward declare |
14:04:52 | FromGitter | <TiberiumN> I usually declare all consts and types at the top of the module (after imports) |
14:05:53 | couven92 | okay... I had two types (from FFI) the inner type has a pointer reference to the outer type... it's a bit messy :( |
14:06:12 | couven92 | but yes, putting it all in the same type section solved the problem, thanks! :) |
14:10:14 | * | mahmudov joined #nim |
14:12:14 | Araq | personally I think 0.xx is vaporware, 1.xx is shit, 2.xx is good, 3.xx is bloated |
14:12:49 | FromGitter | <TiberiumN> just keep naming all versions 2.xxx ? :) |
14:14:13 | FromGitter | <TiberiumN> hmm, I just noticed lol "Nimble is a beta-grade package manager for the Nim programming language." |
14:14:15 | FromGitter | <TiberiumN> why beta grade? |
14:15:03 | dom96|w | Because I'm a pessimist :) |
14:19:47 | FromGitter | <TiberiumN> also I don't understand a bit why people are comparing python and nim like they're very similar languages |
14:20:02 | FromGitter | <TiberiumN> yeah I know that nim syntax looks like python sometimes |
14:20:04 | FromGitter | <TiberiumN> but still |
14:26:16 | mahmudov | cant we import like this |
14:26:23 | mahmudov | import aaaa/* |
14:26:30 | FromGitter | <TiberiumN> ehm, why? |
14:26:36 | FromGitter | <TiberiumN> "import aaaa" does that |
14:26:42 | mahmudov | it doesnt |
14:26:43 | FromGitter | <TiberiumN> what do you mean by that import? |
14:26:54 | mahmudov | import nimrpc iwrote |
14:27:11 | mahmudov | client.nim(1, 28) Error: cannot open 'nimrpc' |
14:27:11 | FromGitter | <TiberiumN> please explain your problem |
14:27:20 | mahmudov | import net, asyncdispatch, nimrpc |
14:27:26 | mahmudov | it errors |
14:27:32 | FromGitter | <TiberiumN> did you create a .nimble file for your nimrpc? |
14:27:34 | FromGitter | <TiberiumN> did you install it? |
14:27:40 | mahmudov | ofc |
14:27:49 | mahmudov | under .nimble |
14:27:49 | FromGitter | <TiberiumN> well it seems you didn't install it |
14:28:09 | mahmudov | root/.nimble/pkgs/nimrpc-0.1.0/nimrpc |
14:28:13 | mahmudov | that i have thi |
14:28:17 | mahmudov | this* |
14:28:23 | FromGitter | <TiberiumN> are you under root? |
14:28:25 | FromGitter | <TiberiumN> wtf |
14:28:30 | FromGitter | <TiberiumN> ok doesn't matter |
14:28:39 | FromGitter | <TiberiumN> maybe you've installed nimrpc as root user |
14:28:48 | FromGitter | <TiberiumN> and trying to compile your program as usual user? |
14:28:58 | mahmudov | yes i installed,use system as root |
14:29:04 | mahmudov | no no, always root |
14:29:48 | FromGitter | <TiberiumN> well you probably have done somthing in a wrong way... |
14:30:03 | FromGitter | <TiberiumN> incorrectly configured .nimble file for example |
14:30:14 | mahmudov | nimble install nimrpc |
14:30:19 | mahmudov | that i did this way |
14:30:23 | FromGitter | <TiberiumN> I mean .nimble file |
14:30:33 | FromGitter | <TiberiumN> is your nimrpc on github? |
14:30:57 | mahmudov | ofc |
14:31:20 | FromGitter | <TiberiumN> give a link then? |
14:31:35 | mahmudov | https://github.com/rogercloud/nim-rpc |
14:31:46 | mahmudov | it shows nimble search nimrpc |
14:31:54 | dom96|w | how are you compiling your script? |
14:31:58 | FromGitter | <TiberiumN> noo |
14:32:02 | FromGitter | <TiberiumN> look |
14:32:07 | FromGitter | <TiberiumN> example from this github page: "import nimrpc/rpc_server, nimrpc/rpc_type" |
14:32:17 | FromGitter | <TiberiumN> author of this package wanted to do imports this way |
14:32:27 | FromGitter | <TiberiumN> soo it's not a nim probelem |
14:33:07 | mahmudov | ok but its examples from under nimrpc |
14:33:15 | mahmudov | lok at nim.cfg |
14:33:18 | mahmudov | look* |
14:33:39 | FromGitter | <TiberiumN> I still don't understand you |
14:33:50 | FromGitter | <TiberiumN> you MUST import things from this package like "import nimrpc/rpc_server, nimrpc/rpc_type" because author wrote it this way |
14:34:31 | mahmudov | ok it works this way |
14:34:39 | mahmudov | so its authors wrong? |
14:34:46 | FromGitter | <TiberiumN> no, he just wanted to write it this way |
14:34:49 | mahmudov | or it is a normal importing way |
14:35:03 | FromGitter | <TiberiumN> well it depends on how much modules are in this package |
14:35:12 | FromGitter | <TiberiumN> for example "compiler" module constist of many modules |
14:35:27 | FromGitter | <TiberiumN> and you need to import like "import compiler/something" from it |
14:35:35 | FromGitter | <TiberiumN> you can change this nimrpc behaviour thought |
14:35:42 | mahmudov | hmm,how ? |
14:36:29 | mahmudov | ex ,i have already changed some imports of nimrpc |
14:36:33 | FromGitter | <TiberiumN> move all *.nim files outside of nimrpc folder (to src folder), and create a new file "nimrpc.nim" ⏎ which would import and export all 3 modules |
14:36:45 | mahmudov | cuz he use msgpack but i should use msgpack4nim |
14:37:19 | mahmudov | ok lemme do. |
14:43:49 | * | PMunch joined #nim |
14:45:24 | FromGitter | <TiberiumN> just interesting: what was the reason of removing typeless parameters and when they were removed? |
14:45:38 | FromGitter | <TiberiumN> because when I started using Nim they're already been removed |
14:47:14 | * | endragor quit (Remote host closed the connection) |
14:47:42 | * | endragor joined #nim |
14:48:39 | * | endragor_ joined #nim |
14:51:06 | mahmudov | tiberiumN |
14:51:07 | mahmudov | import src/rpc_client, src/rpc_type, src/rpc_server |
14:51:07 | mahmudov | export rpc_client, rpc_type, rpc_server |
14:51:17 | mahmudov | it is content of nimrpc.nim |
14:51:26 | FromGitter | <TiberiumN> nooo |
14:51:26 | mahmudov | it works this way,correct ? |
14:51:37 | FromGitter | <TiberiumN> nimrpc.nim should be in the same folder as rpc_client and so |
14:51:47 | FromGitter | <TiberiumN> and you just "import rpc_client, rpc_type, rpc_server" |
14:51:54 | FromGitter | <TiberiumN> and "export rpc_client, rpc_type, rpc_server" |
14:52:11 | FromGitter | <TiberiumN> hmm |
14:52:18 | FromGitter | <TiberiumN> I'll redo this - https://www.youtube.com/watch?v=zKK9I-OvZng |
14:52:28 | * | endragor quit (Ping timeout: 260 seconds) |
14:52:36 | FromGitter | <TiberiumN> some music + a bit slower video |
14:53:05 | * | endragor_ quit (Ping timeout: 240 seconds) |
14:53:26 | * | sakalli joined #nim |
14:54:06 | * | Tiberium joined #nim |
14:59:36 | mahmudov | tiberium |
14:59:37 | mahmudov | https://github.com/milisarge/nimrpc |
14:59:43 | mahmudov | right? |
14:59:58 | Tiberium | well, no :) I meant to KEEP src dir |
15:00:02 | Tiberium | and put all nim files into it |
15:00:41 | * | nattefrost quit (Remote host closed the connection) |
15:01:03 | mahmudov | if i put all files under src |
15:01:14 | mahmudov | so my client.nim cant compile |
15:01:20 | mahmudov | with import nimrpc |
15:04:22 | mahmudov | ah ok |
15:04:30 | mahmudov | i solved finally,sorry for messing |
15:04:45 | mahmudov | i put all .nim files under src directory |
15:04:58 | mahmudov | then i removed old nimrpc |
15:05:10 | mahmudov | i install with my new repo |
15:05:18 | mahmudov | nimble install https://github.com/milisarge/nimrpc |
15:05:42 | mahmudov | , i looked under /root/.nimble/pkgs/nimrpc-0.1.0/ |
15:06:05 | * | mjanssen_ quit (Ping timeout: 240 seconds) |
15:06:17 | mahmudov | no src directory.they all under nimrpc-0.1.0/ |
15:06:59 | Tiberium | yes, that's right |
15:07:48 | mahmudov | thnks much |
15:08:08 | mahmudov | should i make pr |
15:08:13 | mahmudov | to https://github.com/nim-lang/packages/ ? |
15:13:55 | * | mahtov2 joined #nim |
15:14:07 | couven92 | Araq, in a macro, is there a way to get the typedescription for the base type of a distinct type? |
15:14:23 | Araq | yes via getType() and friends |
15:14:42 | couven92 | thats in the typedesc module? |
15:15:18 | couven92 | err, typeinfo i mean? |
15:16:47 | * | nsf quit (Quit: WeeChat 1.9) |
15:17:12 | * | mahtov quit (Ping timeout: 260 seconds) |
15:18:19 | dom96|w | mahmudov: I'm afraid that's still incorrect. rpc_client.nim, rpc_server.nim and rpc_type.nim should be moved into src/nimrpc |
15:26:18 | * | Andris_zbx quit (Remote host closed the connection) |
15:28:17 | Tiberium | ok I think i've done setting up gource (it has a lot of settings) |
15:30:20 | FromGitter | <brentp> Hi all, thanks to some help yesterday, I made some progress on using c2nim + Nim to wrap a C library. Now I could use some help on destructors/finalizers. I have it stubbed out here: https://gist.github.com/brentp/6e03ce78a7a4ce66fcc195f21fdabccc#file-hts-nim-L37 but I'm unsure how to write the `hts_finalize` proc to clean up when that is GC'ed. Any help appreciated. |
15:31:04 | FromGitter | <brentp> ... and any other comments on how I've done this are welcome. |
15:36:42 | * | endragor joined #nim |
15:41:28 | * | endragor quit (Ping timeout: 260 seconds) |
15:43:59 | * | PMunch quit (Quit: Leaving) |
15:47:58 | * | endragor joined #nim |
15:48:22 | krux02 | Araq: I thought about your plans for the macros in Nim, and I am a bit skeptical. I mean it's a nice idea, but it seems like a lot of work to implement and it would not provide new functionality. Therefore I don't like it. |
15:50:45 | krux02 | I have a question, how much work do you expect it to be to have a function in the macros module that transforms an untyped syntax tree into a typed syntax tree? |
15:51:47 | krux02 | so an identifier becomes a symbol |
15:51:50 | krux02 | and so on |
15:52:05 | * | sakalli quit (Ping timeout: 240 seconds) |
15:56:11 | couven92 | dom96|w, nimble does not honour `%APPDATA%\nim.cfg`? |
15:56:59 | dom96|w | krux02: which plans? |
15:57:12 | dom96|w | couven92: huh? what is there to honor? |
15:57:26 | krux02 | dom96|w: well Araq mentioned it here in the chat |
15:57:36 | dom96|w | when? |
15:58:07 | krux02 | he said that the long term plans for macros is have a different macro system that are more like compiler plugins |
15:58:47 | krux02 | I don't think it's a good idea that when the VM doesn't work reliable enough that the language should shift the focus on another system. Because then there are bugs to fix in the VM and the plugin system. |
15:59:00 | couven92 | dom96|w, It's the user config file and I have my platform-specific stuff for VCC in there... that means nimble does not know the correct values when I use `nimscript.get("cc")` |
15:59:02 | krux02 | it was recently |
15:59:13 | krux02 | maybe you can grep the logs |
16:00:40 | dom96|w | couven92 nimble just calls the compiler, it doesn't read any of Nim's config files. |
16:01:12 | Tiberium | couven92, just edit nim compiler config? |
16:01:15 | couven92 | dom96|w, okay, so I create a nims instead, and in the nimble taks I simply call exec "nim e myNims.nims" |
16:01:32 | Tiberium | ah, user config file |
16:12:38 | couven92 | Araq, how can I append a string to a config option in nim.cfg? |
16:14:57 | * | Trustable joined #nim |
16:25:26 | * | willprice joined #nim |
16:39:10 | couven92 | Araq, hmm... from what I can tell from compiler/nimconf.nim that does not seem possible? That's a shame :( |
16:45:21 | * | pilne joined #nim |
16:47:17 | * | sz0 quit (Quit: Connection closed for inactivity) |
16:50:39 | Parashurama | Araq: I'm looking at the mitems iterator yielding tuple, in vm. issues https://github.com/nim-lang/Nim/issues/4741 & https://github.com/nim-lang/Nim/issues/5013 |
16:50:40 | Parashurama | Looking at the generated opcodes (with debugEchoCode option), |
16:50:42 | Parashurama | I see a conversion from ex: (string, int) -> var (string, int). |
16:50:43 | Parashurama | This issue seems to be triggered by a Conv (nkHiddenSubConv) inserted between opcLdArr and AddrNode |
16:50:45 | Parashurama | And this appear to make a copy of the data. |
16:50:46 | Parashurama | For comparison mpairs iterator works (no Conv/nkHiddenSubConv inserted) |
16:50:48 | Parashurama | Where do you think I can find the code for this. |
16:51:31 | Parashurama | I'm looking at the moment at semYieldVarResult to inspect resulting AST. |
16:54:06 | * | endragor quit (Remote host closed the connection) |
16:55:30 | * | dddddd joined #nim |
16:55:36 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
16:59:08 | * | dom96|w joined #nim |
17:03:20 | Parashurama | Okay, I got this working but its just a hack. |
17:03:21 | Parashurama | in semYieldVarResult, I just strip any nkHiddenStdConv, nkHiddenSubConv when yield var values. |
17:03:23 | Parashurama | I didn't see any issue so far, but obviously it would be better if those weren't generated in the first place. |
17:04:21 | * | krux02 quit (Remote host closed the connection) |
17:06:22 | * | fredrik92 joined #nim |
17:08:37 | * | dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
17:09:17 | * | couven92 quit (Disconnected by services) |
17:09:24 | * | fredrik92 is now known as couven92 |
17:10:02 | * | fredrik92 joined #nim |
17:16:57 | * | mahtov2 quit (Ping timeout: 240 seconds) |
17:20:29 | * | dankrad joined #nim |
17:21:02 | * | haha_ joined #nim |
17:22:56 | * | mahtov joined #nim |
17:23:45 | * | kunev quit (Ping timeout: 248 seconds) |
17:24:49 | * | kunev joined #nim |
17:28:18 | * | ketralnis quit (Quit: Coyote finally caught me) |
17:29:09 | * | yglukhov quit (Remote host closed the connection) |
17:32:40 | * | tdc_ quit (Read error: Connection reset by peer) |
17:33:05 | * | tdc_ joined #nim |
17:33:13 | * | cspar_ joined #nim |
17:34:24 | * | dankrad quit (Ping timeout: 260 seconds) |
17:35:54 | * | dankrad joined #nim |
17:43:29 | FromGitter | <brentp> @brentp I found I can use `=destroy` |
17:43:32 | * | Tiberium quit (Remote host closed the connection) |
17:45:08 | * | haha_ quit (Quit: haha_) |
17:51:37 | FromGitter | <brentp> actually, no apparently that's not what I want. |
17:54:26 | * | couven92 quit (Quit: Client Disconnecting) |
17:55:04 | * | BitPuffin|osx quit (Remote host closed the connection) |
17:56:20 | * | couven92 joined #nim |
17:59:19 | * | haha_ joined #nim |
18:00:26 | mahmudov | dom96 https://github.com/milisarge/nimrpc *.nim is under src/ |
18:00:37 | mahmudov | when i type: nimble install https://github.com/milisarge/nimrpc |
18:00:50 | mahmudov | it installs without src |
18:01:13 | mahmudov | root [ ~/.nimble/pkgs/nimrpc-0.1.0 ]# ls |
18:01:13 | mahmudov | nimblemeta.json nimrpc.nimble rpc_server.nim |
18:01:13 | mahmudov | nimrpc.nim rpc_client.nim rpc_type.nim |
18:09:41 | * | haha_ quit (Quit: haha_) |
18:10:55 | * | haha_ joined #nim |
18:14:52 | * | yglukhov joined #nim |
18:19:24 | * | haha_ quit (Quit: haha_) |
18:19:34 | * | yglukhov quit (Ping timeout: 255 seconds) |
18:22:37 | * | haha_ joined #nim |
18:23:46 | * | yglukhov joined #nim |
18:24:31 | * | sakalli joined #nim |
18:30:00 | * | tdc_ quit (Quit: Leaving) |
18:31:20 | dom96 | mahmudov: Nimble likely gives you a warning |
18:31:40 | dom96 | Like I said, you need to put the rpc_*.nim files into a 'nimrpc' directory |
18:31:50 | dom96 | (and the 'nimrpc' directory needs to be inside 'src') |
18:32:48 | mahmudov | pls give me a package ex. |
18:32:52 | mahmudov | from github. |
18:33:04 | mahmudov | i messed sorry. |
18:37:26 | subsetpark | Is there a way to allocate a ref and assign in one line? |
18:38:11 | * | rauss quit (Quit: WeeChat 1.9) |
18:38:40 | FromGitter | <TiberiumN> use ; ? |
18:38:57 | subsetpark | haha |
18:39:02 | subsetpark | I guess I meant... In one statement |
18:39:52 | FromGitter | <Smaehtin> @mahmudov https://github.com/nim-lang/sdl2 |
18:42:30 | * | Parashurama quit (Ping timeout: 240 seconds) |
18:43:23 | * | Matthias247 joined #nim |
18:49:11 | dom96 | mahmudov: if you're familiar with Linux CLI commands: cd nimrpc/src && mkdir nimrpc && mv rpc_*.nim nimrpc/* # is all you need (that last command might be wrong, but hopefully you see what I mean?) |
18:49:44 | dom96 | subsetpark: var x = Type() |
18:49:45 | mahmudov | yes i see |
18:49:48 | mahmudov | ok thnks |
18:50:36 | * | Parashurama joined #nim |
18:51:19 | subsetpark | dom96: I am pretty sure I need an explicit ref type - it has to be nillable, and respond to isNil |
18:51:56 | dom96 | subsetpark: Huh? If `Type` is a ref then you've got one |
18:52:37 | subsetpark | dom96: yes, but when I said 'assign' I meant populate the value of x[] |
18:53:43 | subsetpark | https://www.irccloud.com/pastebin/gcPljkZl/ |
18:53:48 | subsetpark | so the last two lines of that snippet |
18:57:48 | dom96 | subsetpark: var tRef = TRef(value: 10)? |
18:58:25 | mahmudov | https://github.com/milisarge/nimrpc dom96 pls check.i also updated nimrpc.nim |
18:58:52 | dom96 | mahmudov: Looks good :) |
18:59:16 | mahmudov | is it normal: |
18:59:23 | mahmudov | import nimrpc/rpc_client, nimrpc/rpc_type, nimrpc/rpc_server |
18:59:24 | mahmudov | export rpc_client, rpc_type, rpc_server |
18:59:30 | mahmudov | importing fullpath |
18:59:46 | mahmudov | exporting is with basenames |
19:01:20 | dom96 | Good question. I'm not sure :) |
19:01:39 | dom96 | Can you write 'export nimrpc/rpc_client ...'? |
19:02:22 | * | couven92 quit (Ping timeout: 260 seconds) |
19:04:20 | subsetpark | dom96: yes, but in my case most of the time the object with value: 10 comes from elsewhere |
19:05:06 | dom96 | I suspected that. I think I mentioned this before to you: Nim wasn't designed to be used like this AFAIK. |
19:05:27 | dom96 | Why are you doing it this way? |
19:06:10 | mahmudov | 'export nimrpc/rpc_client error occurs |
19:06:28 | mahmudov | root/.nimble/pkgs/nimrpc-0.1.0/nimrpc.nim(2, 14) Error: cannot export: nimrpc / rpc_client |
19:06:54 | mahmudov | it says this |
19:07:18 | dom96 | mahmudov: I'll submit this as an issue just in case. |
19:07:42 | dom96 | (Offtopic: NimBot should have a !createissue <msg> command) |
19:07:44 | mahmudov | +1 |
19:25:55 | * | dankrad quit (Ping timeout: 246 seconds) |
19:25:56 | FromGitter | <faustinoaq> +1 |
19:27:18 | * | haha_ quit (Read error: Connection reset by peer) |
19:27:57 | * | dankrad joined #nim |
19:48:13 | * | joeyparsons joined #nim |
19:48:17 | FromGitter | <zacharycarter> @Araq might be cool to make an implementation for Karax / Nim : https://github.com/gothinkster/realworld |
19:48:58 | FromGitter | <TiberiumN> it's already there, but not with akrax afaik |
19:49:01 | FromGitter | <TiberiumN> let me find it |
19:49:18 | FromGitter | <TiberiumN> *karax |
19:50:17 | FromGitter | <zacharycarter> ah I just found it I think |
19:50:24 | FromGitter | <zacharycarter> https://github.com/battila7/nim-realworld-example-app |
19:50:43 | FromGitter | <TiberiumN> yeah |
19:51:30 | joeyparsons | qq, excited about nim after reading up on it, but running into some issues during `./koch tools`. output here: https://gist.github.com/joeyparsons/b0ac5e5827ce63a64a8c44af558eff68 |
19:52:55 | FromGitter | <TiberiumN> hmm |
19:53:10 | FromGitter | <TiberiumN> can you try with latest devel just in case? |
19:54:07 | FromGitter | <TiberiumN> because it seems you're compiling from source anyway |
19:54:59 | joeyparsons | lemme give that a shot |
19:57:34 | * | cd joined #nim |
19:59:11 | * | cd quit (Client Quit) |
20:00:19 | joeyparsons | strangely fails on `Hint: gcc -c -w -O3 -fno-strict-aliasing -I/home/joey/nim/Nim/lib -o nimcache/r_linux_amd64/compiler_nim.o nimcache/r_linux_amd64/compiler_nim.c [Exec]` right after `scriptconfig` again |
20:00:32 | joeyparsons | from master |
20:00:39 | FromGitter | <TiberiumN> I meant "devel" :) |
20:00:47 | FromGitter | <TiberiumN> but error probably would be the same, yeah |
20:03:38 | dom96 | Hope batilla continues https://github.com/gothinkster/realworld/issues/60 :D |
20:04:10 | * | sz0 joined #nim |
20:10:22 | FromGitter | <TiberiumN> well another idea popped in my head |
20:10:41 | FromGitter | <TiberiumN> try to compile nim & run nim tests on ReactOS (windows clone) |
20:10:53 | FromGitter | <TiberiumN> it's far behind Windows, but it can do many stuff already |
20:10:56 | FromGitter | <TiberiumN> (and it's fully legal) |
20:11:45 | * | nhywyll joined #nim |
20:12:22 | FromGitter | <TiberiumN> but yeah, it's almost vm-only os for now |
20:12:29 | FromGitter | <TiberiumN> but it can run on real hardware (sometimes) |
20:12:48 | FromGitter | <TiberiumN> and it don't even have full compatibility with Windows XP/Server 2003 |
20:17:15 | * | Trustable quit (Remote host closed the connection) |
21:01:15 | * | couven92 joined #nim |
21:06:14 | * | gangstacat joined #nim |
21:09:27 | couven92 | dom96, I just saw, could you elaborate on Nim's filter instead of string formatting? |
21:10:13 | * | couven92 has no idea what dom96 is talking about in https://github.com/nim-lang/Nim/pull/6058#discussion_r132555623 |
21:10:48 | dom96 | https://nim-lang.org/docs/filters.html |
21:11:00 | dom96 | see how it's used in the nimforum for an example |
21:11:09 | couven92 | ooohh! nice! :D |
21:11:29 | * | Parashurama quit (Ping timeout: 248 seconds) |
21:12:45 | couven92 | okay, will do that in the weekend... we need to circumvent SQLite in testament anyways, so there are major changes coming here anyways... |
21:14:04 | couven92 | dom96: or would you like me to get it merged in the new release with the SQLite stuff, then I could speed hack it tomorrow evening |
21:14:41 | dom96 | I don't mind :) |
21:14:53 | couven92 | okay, I'll see what I can do |
21:19:56 | * | chemist69 quit (Ping timeout: 255 seconds) |
21:33:43 | * | chemist69 joined #nim |
21:33:49 | * | dankrad quit (Ping timeout: 276 seconds) |
21:34:36 | couven92 | dom96, this might be kinda important to fix before the release? https://github.com/nim-lang/Nim/issues/6229 |
21:34:54 | couven92 | I have no idea how though... so I can't really do it :P |
21:42:25 | * | gokr quit (Ping timeout: 248 seconds) |
21:43:01 | * | nsf joined #nim |
21:47:48 | * | skrylar joined #nim |
21:55:12 | * | dankrad joined #nim |
22:05:04 | * | couven92 quit (Quit: Client Disconnecting) |
22:05:33 | subsetpark | dom96: > I suspected that. I think I mentioned this before to you: Nim wasn't designed to be used like this AFAIK. Why are you doing it this way? |
22:05:53 | subsetpark | when you say that, do you just mean that types should generally be either ref or not ref, and shouldn't be switched back and forth? |
22:06:34 | subsetpark | In this case it's because I have a type that is totally value-semantics based, but needs to be nil sometimes |
22:06:38 | subsetpark | Maybe I should use options instead |
22:08:04 | * | mahmudov quit (Ping timeout: 240 seconds) |
22:15:22 | * | Jesin quit (Quit: Leaving) |
22:16:11 | subsetpark | dom96: put another way, it feels like an anti pattern to have foo[] all over the place |
22:18:41 | skrylar | i missed the context; are you dereferencing pointers/refs? |
22:21:04 | subsetpark | Yeah |
22:21:27 | skrylar | I have rarely needed to do that explicitly |
22:22:01 | * | nsf quit (Quit: WeeChat 1.9) |
22:23:03 | subsetpark | Basically there is an object type from an imported library, which I use across my application - but sometimes need to be nil. So I accept ref versions of the same type. Maybe what I could do is shadow the imported type as a ref to it. Then I would mostly only need to deref when passing back to the imported libraries |
22:23:37 | skrylar | well that's up to you. i'm a fan of fat wrappers personally |
22:23:51 | subsetpark | What do you mean? |
22:24:04 | skrylar | having a layer of sugar over library bindings to nim-ize them |
22:25:04 | skrylar | you don't normally have to deref ref types manually though, unless you're doing some really specific stuff |
22:25:08 | subsetpark | Ah, I mean it's imported from another nim library |
22:25:08 | subsetpark | So luckily that's not a concern |
22:25:37 | skrylar | A "clean" way to do it is with Maybe types. Which i think we have somewhere in stdlib |
22:25:55 | subsetpark | Well yeah that's what I meant by options |
22:26:03 | skrylar | nods |
22:26:06 | subsetpark | Which I use quite a bit and like |
22:26:48 | skrylar | its a speed v. clarity decision |
22:27:05 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:27:33 | subsetpark | But I'm suspecting that the fact that there's more ref/non ref juggling is because I didn't go whole hog and define a new type for my application that is a ref to the imported type. Instead I just added 'ref' to the function signatures, so there ended up being a lot more steps to annotate |
22:27:55 | skrylar | oh. never tried ref on a function pointer |
22:28:44 | subsetpark | No, I mean the arguments that the procs expect |
22:31:45 | skrylar | ponder. |
22:31:50 | * | Pisuke quit (Ping timeout: 240 seconds) |
22:32:08 | skrylar | It might be possible to use templates and such to have a maybe type that does that but looks nicer to the type system |
22:32:29 | skrylar | it'd just be a generic with an explicit deref proc |
22:32:42 | skrylar | Functionally the same, but doesn't look like a pile of ref soup |
22:34:00 | subsetpark | Yeah for sure. I actually experimented with that. But I think the added indirection of the tenplating such that you don't always know whether your variable is ref or not is not worth it |
22:34:21 | skrylar | non-ref types couldn't be maybe's in the first place |
22:36:10 | subsetpark | Yeah. In either case it seems that adding -some- type layer in the application is necessary |
22:51:21 | * | mahmudov joined #nim |
22:58:07 | * | willprice quit (Ping timeout: 255 seconds) |
22:58:38 | * | cspar joined #nim |
23:00:49 | * | cspar_ quit (Ping timeout: 255 seconds) |
23:02:07 | * | sakalli quit (Remote host closed the connection) |
23:07:41 | * | skrylar quit (Quit: My iMac has gone to sleep. ZZZzzz…) |
23:18:17 | * | yglukhov quit (Remote host closed the connection) |
23:31:59 | * | nhywyll quit (Quit: nhywyll) |
23:40:10 | * | mahmudov quit (Ping timeout: 240 seconds) |
23:44:40 | dom96 | subsetpark: yeah, use an option[T] type instead |
23:45:45 | * | dddddd quit (Remote host closed the connection) |
23:46:43 | * | def-pri-pub joined #nim |
23:49:21 | * | skrylar joined #nim |
23:55:20 | * | endragor joined #nim |