00:02:24 | * | slim_jim_jiss quit (Ping timeout: 246 seconds) |
00:08:48 | * | elrood quit (Quit: Leaving) |
00:09:07 | * | yglukhov quit (Remote host closed the connection) |
00:09:41 | * | yglukhov joined #nim |
00:11:43 | * | vlad1777d quit (Ping timeout: 248 seconds) |
00:12:37 | FromGitter | <Gooseus> @dom96 got `Error: unhandled exception: Connection was closed before full request has been made [ProtocolError]` while trying to publish the nimaws module |
00:13:53 | * | yglukhov quit (Ping timeout: 248 seconds) |
00:19:52 | FromGitter | <Gooseus> btw I heard back from aidansteele via email and he said he hasn't been coding any Nim recently and was willing to forward people on to the nimaws project from aws_sdk |
00:54:30 | * | def-pri-pub joined #nim |
01:18:23 | * | def-pri-pub quit (Quit: Leaving.) |
02:11:33 | FromGitter | <Varriount> couven92: The Winim library has a COM module |
02:15:10 | * | chemist69 quit (Disconnected by services) |
02:15:16 | * | chemist69_ joined #nim |
02:18:50 | GitDisc | <GooRoo> guys, should compiler generate `==` for object variants? or I have to define it on my own? |
02:24:46 | FromGitter | <Varriount> I don't know. I would test it out |
02:27:57 | * | StarBrilliant quit (K-Lined) |
02:28:19 | GitDisc | <GooRoo> I guess it should, but it doesn't work so far |
02:36:54 | * | dddddd quit (Remote host closed the connection) |
02:41:04 | subsetpark | Yes I don't think so |
02:45:05 | * | FromTwitch quit (Remote host closed the connection) |
02:45:39 | subsetpark | You do get it for ref objects, which makes sense |
02:50:00 | GitDisc | <GooRoo> default generic `==` for objects uses `fields()` iterator inside which fucks up on object with `case` |
02:56:08 | FromGitter | <Varriount> GooRoo: Is there a ticket open for that? |
02:56:16 | FromGitter | <Varriount> It seems like an oversight |
02:57:31 | GitDisc | <GooRoo> now there is one https://github.com/nim-lang/Nim/issues/6674 |
03:05:16 | FromGitter | <gogolxdong> Have to use JsObject and jsnew of jsffi and karax effecient virtual DOM construct model but be caution to avoid ambiguous call of & ,maybe jsffi stdlib should extend the ``&`` as karax does, or karax imports jsnew and JsObject otherwise. I compiled DOM first to render html and then compiled nim-electron app to make direct tcp access to libvirt server by leveraging nodejs as workaround , it works fine in linux to |
03:05:16 | FromGitter | ... some extent, now I'm facing how to interactive with node-libvirt in windows, it's being said that there are huge problems to handle. |
03:07:08 | * | derlafff quit (Ping timeout: 240 seconds) |
03:11:25 | FromGitter | <SitiSchu> Why does the description of the os module say it can retrieve environment variables when it doesnt have any proc to do that ? |
03:18:00 | FromGitter | <Gooseus> hey @Varriount when you get a chance shoot me some bullet points of those optimizations you mentioned for the nimaws module |
03:35:30 | FromGitter | <Varriount> @Gooseus The biggest one I could find is that use of the map procedure |
03:37:34 | * | derlafff joined #nim |
03:38:04 | FromGitter | <Varriount> Instead, why not just make a general uriEncode proc that takes an additional list of characters to encode? |
03:46:41 | FromGitter | <Varriount> Also, be aware that strings are copy-on-assignment, like C++. |
03:59:41 | * | sz0 quit (Quit: Connection closed for inactivity) |
04:14:01 | * | thomasross__ joined #nim |
04:16:31 | * | thomasross_ quit (Ping timeout: 248 seconds) |
04:26:41 | * | rauss quit (Ping timeout: 240 seconds) |
04:29:17 | FromGitter | <Varriount> @Gooseus https://gist.github.com/Varriount/5f99f862393a186665cd454ae6137ff4 |
04:29:44 | FromGitter | <Varriount> @Gooseus I haven't gone all the way through it. I stopped at create_canonical_and_signed_headers |
04:36:27 | FromGitter | <Gooseus> awesome, thanks @Varriount I'll take a look and merge in these changes... I see what you're talking about, may have some questions to better understand the optimization |
04:37:14 | FromGitter | <Varriount> @Gooseus I'll be around for another hour or so |
04:37:56 | FromGitter | <Varriount> @Gooseus Make sure to test the changes. |
04:45:38 | FromGitter | <Varriount> @Gooseus the general goal in this kind of code is to copy string data as little as possible |
04:46:18 | * | vlad1777d joined #nim |
04:53:52 | FromGitter | <Gooseus> @Varriount ok, so you want to prefer manipulating the string directly and reducing the number of times you need to manipulate the same string, right? |
04:55:45 | FromGitter | <Gooseus> also, I was curious what your thoughts are on next steps toward a more full-fledged AWS SDK? are you still planning on writing something to consume that JSON to create service objects? |
04:58:07 | FromGitter | <Varriount> To your first question, yes. Mainly you want to avoid creating strings. |
04:58:58 | FromGitter | <Varriount> To your second, yes, however I won't have much time until winter break or the summer. I have both university classes and full time work to juggle |
04:59:28 | FromGitter | <Varriount> I can probably get a prototype working over Winter break |
05:02:20 | FromGitter | <Gooseus> ok, so in the condense_whitespace proc... doing a strip() and then a replace() with a re, it be preferable to reduce that to a single string operation to reduce the whitespace? |
05:02:59 | FromGitter | <Varriount> @Gooseus At this point, if we can have a low level library where you give the endpoint, parameters, and encoding information, that would be great. |
05:04:02 | FromGitter | <Varriount> @Gooseus Yes, if it's used throughout the code. |
05:05:31 | FromGitter | <Varriount> @Gooseus In a perfect world, the standard library would have in-place transformation procedures. :/ |
05:07:27 | FromGitter | <Gooseus> @Varriount ok, noted, thanks... what are your thoughts on a attempting to multi-thread multiple requests to AWS? for instance uploading or downloading multiple S3 objects? |
05:10:25 | FromGitter | <Varriount> @Gooseus Might be tricky. Nim has thread support and task spawning, however the async framework (which is usually used for HTTP requests) is single-threaded. |
05:11:47 | FromGitter | <Gooseus> so multi-threaded would need to spawn tasks that used the synchronous httpclient? I assume this is because the event loop only takes place in the main thread or something? |
05:12:04 | FromGitter | <Varriount> Something like that. |
05:12:21 | FromGitter | <Varriount> I'd ask @dom96 about it. I haven't used the async framework much. |
05:14:47 | FromGitter | <Gooseus> yeah, I'm curious what it is... and if that is the case, then could you theoretically utilize an asynchttpclient for the main thread and spawn tasks that used the regular httpclient? |
05:15:21 | FromGitter | <Varriount> Yes. |
05:15:42 | FromGitter | <Gooseus> well that'd be pretty neat... |
05:15:57 | FromGitter | <Varriount> Though how much of a performance gain that would get you over using multiple asynchronous requests, I don't know. |
05:16:03 | * | def-pri-pub joined #nim |
05:16:21 | FromGitter | <Gooseus> I have zero experience in parallel/multi-threaded programming |
05:17:07 | FromGitter | <Gooseus> yeah, idk... I assume it'd be decent though, since even though each process is yielding up control, if it's in a single thread there is always waiting |
05:18:08 | FromGitter | <Gooseus> but it might depend on the channel between the cpu and the network card? if multiple threads are trying to make requests, does that matter to the nic? |
05:19:00 | FromGitter | <Varriount> Well, remember that usually the data to be sent is copied from user mode to kernel mode |
05:19:15 | FromGitter | <Varriount> then time is spent waiting on IO |
05:21:47 | * | def-pri-pub quit (Quit: Leaving.) |
05:25:53 | FromGitter | <Gooseus> ok, yeah, i need to beef up my understanding of low level data flow... do you think there is a way to utilize parallelism to improve an SDK like this? I'm imagining a use case downloading a number of files, performing a bunch of operations and then uploading a set of files for each one processed |
05:31:43 | FromGitter | <Varriount> @Gooseus Threads tend to work best when there are CPU-bound operations. |
05:32:25 | FromGitter | <Varriount> Also, any idea if the signing policy cares about unicode whitespace? |
05:32:49 | FromGitter | <Varriount> I see that whitespace is stripped from header values |
05:33:06 | FromGitter | <Varriount> however what if that whitespace has odd things like unicode combining characters? |
05:35:16 | FromGitter | <Varriount> Also, is it only supposed to be spaces? what about tabs? |
05:36:15 | FromGitter | <Gooseus> I believe you are supposed to collapse all whitespace into a single space... let me find the reference |
05:38:46 | FromGitter | <Varriount> "To create the canonical headers list, convert all header names to lowercase and remove leading spaces and trailing spaces. Convert sequential spaces in the header value to a single space." |
05:39:51 | FromGitter | <gogolxdong> install node-libvirt in windows is overwhelmed , the only way to fill the gap for good is writing a browser in Nim. |
05:40:44 | FromGitter | <Gooseus> yeah, I think I may have accidentally left that in from when I started doing this with the v2 docs |
05:40:53 | FromGitter | <Gooseus> in there they talk about collapsing the whitespace |
05:41:24 | FromGitter | <Gooseus> so I guess I should remove that altogether |
05:43:00 | FromGitter | <Gooseus> @Varriount you have a good, simple parallel nim example? maybe something finding primes or something like that? that's cpu-bound, right? |
05:43:15 | FromGitter | <Varriount> Not off-hand |
05:44:15 | FromGitter | <Varriount> @Gooseus https://nim-lang.org/araq/concurrency2.html |
05:44:52 | FromGitter | <Gooseus> awesome, thanks! |
05:46:06 | * | miran__ joined #nim |
05:48:52 | FromGitter | <Varriount> @Gooseus I wouldn't worry about condense_whitespace, writing an in-place procedure would take about 50-60 lines of code. |
05:49:13 | FromGitter | <Varriount> Perhaps later, but right now functionality is more important |
05:51:11 | FromGitter | <Gooseus> yeah, I'm actually thinking right now that it might be a bug waiting to happen... my stuff has worked cause none of my tests have used complicated header values |
05:51:59 | FromGitter | <Varriount> @Gooseus https://gist.github.com/Varriount/f00ae269879e4ea70929317add9e24a1 |
05:52:04 | FromGitter | <Varriount> :3 |
05:53:04 | FromGitter | <Varriount> Woops, updated |
05:53:30 | FromGitter | <Gooseus> that's the in-place condense_whitespace proc? |
05:54:08 | FromGitter | <Gooseus> or just a much more optimized version it seems, since you do create a new string |
05:54:13 | FromGitter | <Varriount> Sorry, not in-place, but more optimized |
05:54:52 | FromGitter | <Gooseus> hey, nice... if this was node, you'd package that up as its own npm module |
05:55:38 | FromGitter | <Varriount> What? It's rather single-purpose though. |
05:57:42 | FromGitter | <Gooseus> haha, exactly, that's kind of the joke... ever heard of left-pad-gate? |
05:59:29 | * | Vladar joined #nim |
06:00:06 | * | smt quit (Read error: Connection reset by peer) |
06:04:02 | FromGitter | <Varriount> @Gooseus No, what is it? |
06:08:01 | * | vlad1777d quit (Ping timeout: 240 seconds) |
06:10:23 | FromGitter | <Gooseus> http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm |
06:11:10 | FromGitter | <Gooseus> basically someone unpublished a bunch of their packages from NPM, a bunch of which were dependencies for other packages, the most notorious of which was a module called left-pad |
06:11:22 | FromGitter | <Gooseus> http://left-pad.io/ |
06:15:49 | FromGitter | <Varriount> @Gooseus Why not just use `char.repeat(x) + value `? |
06:23:32 | FromGitter | <Gooseus> yeah, idk why anyone would even think to look for a module like that instead of just implementing one real quick |
06:36:26 | * | nsf joined #nim |
06:38:11 | * | miran__ quit (Quit: Leaving) |
07:00:18 | FromGitter | <Gooseus> ah see, this is so confusing, the sigv4 stuff for s3 uses a Trim() pseudofunction for header values, which only removes trailing and leading... the general sigv4 stuff uses Trimall() which removes trailing, leading and condenses |
07:31:29 | * | Arrrr joined #nim |
07:34:12 | * | tdc joined #nim |
07:42:36 | * | endragor quit (Remote host closed the connection) |
07:42:44 | * | endragor joined #nim |
08:09:24 | * | gokr joined #nim |
08:14:03 | FromGitter | <gogolxdong> I installed virt-viewer before which is the libvirt official recommended windows solution ,there are some libvirt*.dlls under bin/, I think these are enough to provide full operations ,how can I make use of them? |
08:18:39 | * | vlad1777d joined #nim |
08:20:33 | livcd | so i have a good candidate of what I would / want to do as a pet project in Nim ..finally :D |
08:22:34 | FromGitter | <alehander42> what is it? |
08:26:21 | FromGitter | <mratsim> @dom96 a new joiner still pending validation: https://forum.nim-lang.org/t/3286 |
08:27:14 | * | claudiuinberlin joined #nim |
08:30:23 | * | bozaloshtsh_ quit (Ping timeout: 248 seconds) |
08:45:16 | livcd | alehander42: i need a program that will store and compare changes made to few dozens of configuration files and displays the differences |
08:53:39 | Araq | livcd: put it into a git repo? |
08:55:22 | livcd | Araq: the configurations are not only mine |
08:55:54 | Araq | so ... copy them into a git repo? |
08:57:05 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:10:56 | * | Senketsu quit (Quit: Lost terminal) |
09:14:59 | * | claudiuinberlin joined #nim |
09:15:29 | * | couven92 joined #nim |
09:20:23 | * | heinrich5991 quit (Ping timeout: 246 seconds) |
09:20:35 | * | joshbaptiste quit (Ping timeout: 240 seconds) |
09:21:57 | * | joshbaptiste joined #nim |
09:24:39 | * | heinrich5991 joined #nim |
09:25:13 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59fae4794ff065ac18a70c1f] |
09:28:44 | * | yglukhov joined #nim |
09:31:20 | * | yglukhov quit (Remote host closed the connection) |
09:31:33 | * | yglukhov joined #nim |
09:34:42 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:36:15 | * | Senketsu joined #nim |
09:43:01 | * | claudiuinberlin joined #nim |
09:43:44 | * | slim_jim_jiss joined #nim |
09:50:25 | * | Arrrr quit (Ping timeout: 248 seconds) |
09:52:03 | livcd | Araq: well there are some other things i wanted to do and besides i need to do some filtering before i would put it in Git |
10:01:29 | * | thomasross_ joined #nim |
10:02:34 | FromGitter | <alehander42> btw I wondered the other day, is there something like a list of thing people wanted libraries for in the Nim ecosystem ? |
10:03:45 | * | thomasross__ quit (Ping timeout: 248 seconds) |
10:03:49 | * | floppydh joined #nim |
10:05:37 | * | x86128 joined #nim |
10:07:49 | * | x86128 quit (Client Quit) |
10:08:30 | * | zolk3ri joined #nim |
10:09:56 | FromGitter | <gogolxdong> Is this right? |
10:21:25 | * | Senketsu quit (Quit: Lost terminal) |
10:21:53 | * | Senketsu joined #nim |
10:21:59 | * | Senketsu quit (Client Quit) |
10:23:14 | * | Senketsu joined #nim |
10:24:05 | federico3 | alehander42 not yet |
10:26:09 | * | Arrrr joined #nim |
10:26:09 | * | Arrrr quit (Changing host) |
10:26:09 | * | Arrrr joined #nim |
10:31:12 | * | Sentreen quit (Ping timeout: 258 seconds) |
10:34:52 | * | chemist69_ quit (Quit: WeeChat 1.9.1) |
10:35:09 | * | chemist69 joined #nim |
10:35:50 | * | chemist69 quit (Client Quit) |
10:37:42 | * | chemist69 joined #nim |
10:44:13 | * | Sentreen joined #nim |
10:48:57 | FromGitter | <alehander42> I think something like https://github.com/crystal-community/crystal-libraries-needed/issues would be useful for us too |
10:50:59 | FromGitter | <Yardanico> @alehander42 there's something like it |
10:51:28 | FromGitter | <Yardanico> @alehander42 https://nim-lang.org/blog/2017/10/01/community-survey-results-2017.html ⏎ Go to "What critical libraries are missing in the Nim ecosystem?" |
10:52:38 | FromGitter | <alehander42> ah excellent |
10:53:29 | federico3 | having a issue tracker where people can create / upvote / subscribe could help actually |
10:53:31 | FromGitter | <alehander42> still some repo where this list can be updated with new ideas/ or people can follow the development of some of the ideas would be a perfect addition I think |
10:54:54 | * | JappleAck joined #nim |
10:58:20 | FromGitter | <andreaferretti> the things I miss most are high level libraries for I/O with various kinds of DB and queues - especially integrated with the async framework |
10:59:13 | FromGitter | <andreaferretti> kafka, cassandra, hbase, couchdb.... |
10:59:21 | FromGitter | <gogolxdong> ```code paste, see link``` ⏎ ⏎ file exists while not the lib [https://gitter.im/nim-lang/Nim?at=59fafa88d6c36fca31c8961d] |
10:59:49 | * | dave24 quit (Quit: rirc v0.1) |
11:00:04 | FromGitter | <andreaferretti> in some cases (kafka) there is a minimal wrapper over the C library, while the ideal was a Nim-native library that speaks the Kafka protocol without C dependencies and usable both in sync and async modes |
11:00:16 | FromGitter | <andreaferretti> same for most other databased |
11:00:19 | FromGitter | <andreaferretti> databases |
11:01:36 | FromGitter | <gogolxdong> most of the current middleware should be rewritten in Nim, this is a huge work. |
11:02:18 | * | Snircle joined #nim |
11:06:44 | FromGitter | <gogolxdong> the ideal of ideal is trainning a programming AI , work day and night. Nim happens to has the essential feature, hope someone can utilitze.. |
11:07:22 | FromGitter | <Yardanico> @gogolxdong https://github.com/mratsim/Arraymancer |
11:07:49 | federico3 | alehander42: I was thinking of a little webapp to track ideas/needs but a github project would do |
11:07:55 | arnetheduck | Yardanico, did you manage to run anything? |
11:08:33 | FromGitter | <Yardanico> well I just checked if it compiles (for fun), compiled simple program using base64 from stdlib, it worked |
11:08:47 | FromGitter | <Yardanico> btw epochTime worked too |
11:08:51 | FromGitter | <Yardanico> from times module |
11:08:56 | * | tdc_ joined #nim |
11:09:12 | FromGitter | <gogolxdong> I know this library, it's about algorithm rather than a lib. |
11:09:30 | CcxWrk | When I try to do "nimble list" it fails with OSError while trying to open non-existing temporary directory: open("/tmp/nimble_10187", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory) |
11:09:42 | CcxWrk | nimble v0.8.8 compiled at 2017-10-31 11:26:32 (from Gentoo package) |
11:09:48 | FromGitter | <Yardanico> @gogolxdong no, see https://github.com/edubart/arraymancer-demos for usage |
11:10:01 | FromGitter | <Yardanico> you can already make neural networks with it |
11:10:21 | FromGitter | <Yardanico> CCxWrk: do you have /tmp/ directory? |
11:11:01 | CcxWrk | Yes. With appropriate rights and sticky bit. The issue is that it doesn't try to create the directory it's opening. |
11:11:20 | FromGitter | <Yardanico> that's strange. can you try nim devel? |
11:12:09 | CcxWrk | As in pulling Nim from git and building it? |
11:12:13 | FromGitter | <Yardanico> yes |
11:12:13 | FromGitter | <Yardanico> https://github.com/nim-lang/Nim#compiling ⏎ and after all these commands run ./koch tools |
11:12:27 | FromGitter | <alehander42> @federico3 I think github is better, because most people use it and know how it works (but the app idea is interesting in principle for various ideas) |
11:12:47 | * | tdc quit (Ping timeout: 260 seconds) |
11:12:51 | FromGitter | <Yardanico> we need to ask @dom96 to create a repo for library suggestions under nim-lang org |
11:13:15 | FromGitter | <alehander42> |
11:13:16 | * | vlad1777d quit (Ping timeout: 252 seconds) |
11:13:42 | federico3 | alehander42 the app act as an optional front-end for GH issues |
11:13:51 | FromGitter | <Yardanico> CcxWrk: did you install any nimble packages before doing `nimble list` ? |
11:14:16 | Araq | create a wiki page with ideas? why does that need a new repo? |
11:15:10 | federico3 | Araq: people can easily subscribe to the ideas they care about, receive updates, relate projects/PRs |
11:15:23 | FromGitter | <alehander42> and how would people subscribe/vote to wiki articles? also if people need a separate account for a special wiki, they just wouldn't bother |
11:15:35 | CcxWrk | Yardanico: No, this is a fresh install. |
11:15:35 | federico3 | in short, it's the whole bugtracker workflow |
11:16:15 | FromGitter | <Yardanico> CcxWrk: try to install any nimble package and try to run nimble list again ⏎ e.g. "nimble install mathexpr" |
11:16:58 | FromGitter | <Yardanico> if it will work, make an issue in nimble github repo :) |
11:17:29 | FromGitter | <alehander42> github issues can act as a better-structured wiki with more features and they are in the same platform where the whole nim ecosystem is in anyway |
11:18:35 | federico3 | e.g. sort ideas/needs , tag them, pledge to contribute: https://github.com/crystal-community/crystal-libraries-needed/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc |
11:18:40 | FromGitter | <gogolxdong> There are news about auto programme AI , while which neural network is better is still an issue. Only enough acadamic research can lead to a best practice, which is out of capability of many of ourselves. |
11:19:13 | Araq | oh ok if Crystal does it we have to do it too of course. |
11:19:33 | federico3 | alehander42: albeit not everybody wants to have an account on GH |
11:20:26 | FromGitter | <Yardanico> federico3: there's no other choice then. People who doesn't want to have an account on GH wouldn't want to have an account on other services as well |
11:20:38 | FromGitter | <Yardanico> github is fine |
11:20:38 | CcxWrk | Yardanico: Same error. |
11:20:43 | * | tdc__ joined #nim |
11:22:11 | CcxWrk | Running koch tests on the development build in the meantime. I assume I need to pull nimble repo too and build it? |
11:23:02 | FromGitter | <Yardanico> no |
11:23:07 | FromGitter | <Yardanico> ./koch tools does that automatically |
11:23:20 | FromGitter | <Yardanico> why ./koch tests though ? :) |
11:23:45 | * | Senketsu_ joined #nim |
11:23:48 | * | tdc_ quit (Ping timeout: 240 seconds) |
11:23:58 | CcxWrk | Well, to see if anything is wrong with the build? Apparently not having nodejs makes it produce a lot of errors. |
11:24:18 | FromGitter | <alehander42> @Araq nobody cares Crystal does it, it just seems as a more convenient and powerful method to me |
11:25:30 | Araq | you know what I care about? that baby. what happened to it? did they lose it? |
11:25:31 | FromGitter | <alehander42> but of course if people prefer wiki, that's great too, the important thing is to be something that can track the ecosystem, not a static list |
11:25:34 | FromGitter | <gogolxdong> Nim provides sharp tools for neural network , this is the most promising part. All others are about infrastructure. |
11:26:37 | Araq | how could it survive in zombie apocalyptic world anyway |
11:26:51 | * | Senketsu_ quit (Remote host closed the connection) |
11:27:03 | FromGitter | <Yardanico> CcxWrk: because nim has JS backend |
11:27:08 | Araq | ah ok |
11:27:09 | FromGitter | <Yardanico> you shouldn't care about it |
11:27:14 | FromGitter | <Yardanico> unless you use JS backend :) |
11:27:31 | CcxWrk | That's why test suites have SKIP feature. :P |
11:27:37 | FromGitter | <Yardanico> Araq: what are you talking about ? :P |
11:28:05 | Araq | walking dead season 7 |
11:29:08 | FromGitter | <Yardanico> ah, ok :D |
11:29:24 | FromGitter | <alehander42> I seriously thought the baby survived *because* nim has JS backend after reading this chat |
11:31:50 | FromGitter | <Yardanico> xD |
11:35:59 | * | slim_jim_jiss quit (Ping timeout: 248 seconds) |
11:38:40 | CcxWrk | nim/nimble from github works |
11:38:52 | CcxWrk | Is the result of the test run of interest to anyone? |
11:39:47 | FromGitter | <Yardanico> well we have Travis CI (tests on ubuntu + macos) and AppVeyor (windows) |
11:42:18 | * | tdc_ joined #nim |
11:44:23 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:45:33 | * | tdc__ quit (Ping timeout: 246 seconds) |
11:47:54 | * | dddddd joined #nim |
11:54:09 | * | nim_newb joined #nim |
11:55:55 | * | elrood joined #nim |
11:59:18 | nim_newb | Hi, I am newbie to nim (Just read Tut1 till now). I wanted to implement a linked list in nim. Why does this print 0? https://gist.github.com/anonymous/f4c738f1c28ccd43ac36331059b0862d |
12:00:04 | nim_newb | is new() like malloc (as in does it allocate memory for the whole node?) or is it just required for every ref type if you want it to be gc'ed? |
12:00:54 | * | slim_jim_jiss joined #nim |
12:05:30 | FromGitter | <mratsim> @gogolxdong when you say "Nim provides sharp tools for neural networks?”, what are you talking about? |
12:06:21 | FromGitter | <mratsim> @nim_new, new is required for GC-ed types (ref types). If you want malloc use “alloc” (thread-local) or “allocShared” (shared memory) |
12:07:10 | FromGitter | <gogolxdong> what you have expirenced ,performance and productivity. |
12:08:46 | nim_newb | Okay |
12:09:03 | FromGitter | <mratsim> oh right :). I really think Arraymancer is the fastest™ CPU ndarray/tensor library at the moment, including vs Julia, Numpy/Numba/Cython, Torch (C/Lua). Didn’t bench vs Tensorflow yet because the syntax is just a pain but it’s usually slower than the others (but more scalable on clusters). |
12:09:47 | nim_newb | So can we implement data structures like linked list with GC-ed types? (sorry never used a GC language, I only have a bit of C knowlege, new to programming world) |
12:10:12 | FromGitter | <mratsim> Maybe I’ll add a policy “if you find Arraymancer slower on CPU than another lib, it is a bug” :D |
12:10:30 | nim_newb | Also can these two lines be combined into 1 single line? `var start: node` `new(start)` |
12:12:03 | FromGitter | <mratsim> @nim_newb usually GC types provide a “constructor” that does the initialization for you. If you create your own type this should go in a "newYourObject" |
12:12:11 | * | tdc__ joined #nim |
12:12:39 | FromGitter | <mratsim> there is no way to combine that, you can hide the ugly details in that constructor |
12:13:08 | nim_newb | Okay thanks |
12:13:17 | FromGitter | <mratsim> For linked_list I never did it myself but usually, if you’re stuck you can search a Python tutorial and convert it to Nim quite easily |
12:14:46 | FromGitter | <mratsim> also check the source code of https://nim-lang.org/docs/deques.html and https://nim-lang.org/docs/queues.html for queues and double ended queues |
12:15:29 | elrood | nim_newb, have another look at the last two lines of your insertAtStart procedure |
12:15:59 | * | tdc_ quit (Ping timeout: 248 seconds) |
12:16:47 | FromGitter | <gogolxdong> Studying neural network is my next step , nim NN library will be production-ready at that time, before that I have some solid work to do. |
12:18:35 | * | Senketsu_ joined #nim |
12:19:07 | FromGitter | <Yardanico> nim_newb you can have a look at https://nim-lang.org/docs/lists.html |
12:19:14 | FromGitter | <Yardanico> it's linked list implementation in stdlib |
12:19:16 | nim_newb | elrood: Isn't that how it is done in C? |
12:21:30 | FromGitter | <alehander42> if you have `a = b` `b = a` is the same as `b = b` |
12:21:48 | FromGitter | <mratsim> Offtopic: most disliked languages from stack overflow resume: https://stackoverflow.blog/2017/10/31/disliked-programming-languages/ |
12:22:18 | elrood | nim_newb, looks like you messed up a little there. did you really mean to assign newNode.link to start? also new(newNode.link) above is kinda redundant |
12:25:20 | livcd | so i finally bought Nim in Action |
12:25:24 | nim_newb | elrood: Thanks! That fixed it. But why does it now print a 0 as well? |
12:26:07 | * | Senketsu_ quit (Quit: Lost terminal) |
12:26:51 | elrood | nim_newb, well, your original start node's data is never set to any value, right? |
12:28:20 | nim_newb | Removing the `new(start)` fixed it. Is it the correct fix? |
12:35:33 | * | claudiuinberlin joined #nim |
12:47:49 | elrood | nim_newb, that's fine, then you're assigning a nil pointer to newNode.link in your first insertAtStart invocation. relating to your other question: var newNode = new(node) |
12:48:06 | federico3 | http://opensourcesurvey.org/2017/ relevant |
12:50:49 | livcd | Can't build nake. Error: invocation of external linker program failed. Access is denied. |
12:51:07 | nim_newb | elrood: Thank you. |
12:51:57 | * | endragor quit (Remote host closed the connection) |
12:51:59 | elrood | no probs. welcome to nim. have fun |
12:53:24 | nim_newb | Yeah I am gonna be asking a lot of newbie questions in the coming months :D |
12:57:33 | * | Senketsu_ joined #nim |
12:59:15 | livcd | Can anyone lend a hand ? what kind of linker it wants or how do I get it to print how is it invoking it ? |
13:03:07 | flyx | livcd: --listCmd |
13:11:27 | * | arnetheduck quit (Ping timeout: 240 seconds) |
13:16:38 | livcd | hmm |
13:18:31 | Araq | livcd: use --out:bin/nake or something |
13:24:07 | livcd | that's a parameter to ? |
13:24:50 | Araq | nim |
13:28:32 | livcd | But I do not have nake I am trying to install it |
13:30:08 | * | derlafff quit (Ping timeout: 240 seconds) |
13:32:34 | * | derlafff joined #nim |
13:49:42 | yglukhov | livcd: why not just nimble install nake? |
13:52:19 | * | endragor joined #nim |
13:54:20 | * | Senketsu_ quit (Quit: Lost terminal) |
14:16:01 | livcd | yglukhov: that's what I do |
14:18:08 | * | qwertfisch quit (Ping timeout: 240 seconds) |
14:21:09 | nim_newb | livcd: Which OS are you on? |
14:21:42 | livcd | Windows |
14:22:49 | nim_newb | Are you able to compile C programs using the installed mingw? because its linker is what is used by nim if you have not selected any other toolchain for nim. |
14:24:39 | nim_newb | Or maybe moving mingw to another location will fix it? https://github.com/nim-lang/Nim/issues/5833 |
14:25:56 | livcd | nim_newb: oh! i only found the one github issue mentioning whitespaces |
14:25:59 | livcd | i'll try that |
14:30:45 | FromGitter | <Yardanico> yes, probably you've placed mingw somewhere in program files, and they can be accessed by admin only |
14:32:05 | livcd | eh no it's in my C:\ |
14:35:42 | Calinou | livcd: you can install MSYS2 to get a recent GCC version, by the way |
14:35:47 | Calinou | http://www.msys2.org/ |
14:35:54 | Calinou | it comes with pacman, so you can install many libraries as well, if needed |
14:36:13 | Calinou | you can add "C:\msys2\mingw64\bin" to your PATH |
14:36:21 | Calinou | (so you can use it outside of the MSYS2 terminal) |
14:45:31 | FromGitter | <gogolxdong> apeal to libvirt-php eventually |
14:50:48 | FromGitter | <Gooseus> @dom96 you see my error yesterday trying to publish to nimble? Wasn't sure if I ought to try again or if there was something I needed to change first |
14:51:53 | livcd | Calinou: i guess i will try that as I have gcc 7.1.0 |
14:52:18 | * | arnetheduck joined #nim |
14:52:54 | * | qwertfisch joined #nim |
14:55:04 | nim_newb | livcd: the gcc version hosted on nim-lang website is 6.3.0, maybe try that |
14:59:10 | Calinou | MSYS2 has 7.2.0 right now |
14:59:22 | FromGitter | <data-man> Oh, Delphi. Sometimes I miss. |
15:01:22 | livcd | doh |
15:09:58 | FromGitter | <data-man> The cligen package was updated if someone uses it |
15:11:24 | * | miran_ joined #nim |
15:17:11 | * | nim_newb quit (Quit: Page closed) |
15:17:15 | livcd | Calinou: ahh after i installed it the mingw32/64 are empty |
15:19:53 | FromGitter | <data-man> @livcd: pacman -Syy ? |
15:20:56 | livcd | still empty |
15:21:50 | FromGitter | <data-man> pacman -Sl > package.lst |
15:22:40 | FromGitter | <data-man> pacman -S mingw32 or something like that |
15:23:08 | livcd | target not found |
15:23:20 | FromGitter | <data-man> see your package.lst |
15:23:47 | livcd | it contains ming64 stuff though |
15:24:03 | FromGitter | <data-man> pacman -S mingw64 |
15:25:02 | livcd | same... |
15:26:46 | * | nsf quit (Quit: WeeChat 1.9.1) |
15:27:12 | FromGitter | <data-man> https://github.com/msys2/msys2/wiki/MSYS2-installation |
15:31:38 | livcd | sigh |
15:31:42 | FromGitter | <data-man> maybe package mingw-w64-x86_64 exist? |
15:32:57 | FromGitter | <data-man> what pacman -Ql mingw-w64-x86_64 output? |
15:38:41 | FromGitter | <data-man> also you need git, make, base-devel, ... |
15:42:44 | Araq | livcd: don't use pacman or msys2, clean up your PATH environment var and run finish.exe |
15:43:41 | livcd | ok |
15:47:34 | * | TjYoco joined #nim |
15:48:36 | * | TjYoco quit (Client Quit) |
15:48:44 | FromGitter | <data-man> in vain, msys2 is awesome :) |
15:49:07 | * | TjYoco joined #nim |
15:50:40 | livcd | I am still getting invocation of external linker program failed. Access is denied. my PATH for nim is C:\nim-0.17.2_x64\nim-0.17.2\bin and mingw is C:\MinGW\mingw64\bin. I am able to compile at least hello world from cmd and the gcc points to the mingw location i mentioned earlier |
15:50:44 | livcd | :-/ |
15:51:41 | Calinou | Araq: MSYS2 works fine for me :P |
15:51:51 | Calinou | although I compiled Nim from source, it's more convenient for me |
15:53:48 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:55:45 | * | claudiuinberlin joined #nim |
15:56:37 | FromGitter | <Yardanico> livcd: try to run cmd from admin |
15:56:41 | FromGitter | <Yardanico> And run all |
15:56:46 | livcd | i did |
15:56:52 | FromGitter | <Yardanico> Hmm |
15:57:04 | livcd | i set permissions full control for Everyone for both mingw and nim |
15:57:25 | * | Jesin joined #nim |
16:02:20 | FromGitter | <data-man> @livcd: Do you have drive D? Better install there. |
16:04:14 | * | nim_newb joined #nim |
16:05:07 | livcd | No I do not |
16:05:45 | nim_newb | How to declare multiple variables of the same type in multiple lines without repeating the data type multiple times. I mean how to split this declaration into multiple lines as I want to add comments for each variable `var a, b, c, d, e : string` |
16:10:24 | livcd | hmm sometimes i get this https://0bin.net/paste/zE2hrij5CKmETkHi#a4fP7ARzW0Bxv5mNFVYzh0tX8sg1FTABNw7zIM3DAb3 |
16:10:55 | TjYoco | nim_newb maybe try this compromise https://play.nim-lang.org/?gist=5a41476998c051ff00515d1512f731a3 |
16:12:23 | livcd | hmmm i have no clue...i downloaded the mingw64-6.3.0.7z and placed it in the nim dir \dist |
16:12:43 | TjYoco | otherwise you could probably create a macro that specifies the type you want all the declarations below it be then comment on each line. |
16:12:56 | FromGitter | <gogolxdong> How to make jester support php? |
16:14:10 | * | gokr quit (Ping timeout: 264 seconds) |
16:17:03 | nim_newb | livcd: have you added mingw64/bin to PATH? Remove the earlier gcc that you had in PATHand add this to PATH |
16:17:11 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:17:35 | livcd | nim_newb: finish added it i even moved it up to be the first |
16:17:40 | * | claudiuinberlin joined #nim |
16:17:58 | livcd | i guess without knowing what external linker program it is trying to use i am stuck |
16:19:27 | nim_newb | The error comes from here https://github.com/nim-lang/Nim/blob/7e07fc5893baf40093a44c1cee71feea88555f71/tools/finish.nim#L86 I think it is trying to find `gcc.path = r"$nim\dist\mingw\bin` in config.cfg and changing it to the gcc that it found |
16:20:23 | nim_newb | Open config/nim.cfg in text editor and on line 113 try changing it to point to your gcc directory |
16:20:40 | nim_newb | (I am just guessing here, it may or may not fix anything) |
16:21:36 | nim_newb | TjYoco: Thank you |
16:22:10 | livcd | nim_newb: you guessed right |
16:22:18 | livcd | thanks |
16:22:29 | nim_newb | livcd: You are welcome :D |
16:22:48 | livcd | oh yeah for some reason it had a path to non existing mingw there |
16:22:49 | livcd | weird |
16:23:26 | livcd | i guess when i ran finish.exe and then i was shuffling around with the mingw's locations |
16:27:56 | * | Trustable joined #nim |
16:27:59 | * | floppydh quit (Quit: WeeChat 1.9.1) |
16:32:27 | livcd | hmm another issues. I cannot compile jsbind because it says it cannot find the libwinpthread-1.dll but that is inside my mingw\bin\ |
16:34:53 | TjYoco | livcd idk if this matters but is your PATH setuo correctly |
16:35:03 | * | yglukhov quit (Remote host closed the connection) |
16:35:37 | * | yglukhov joined #nim |
16:37:07 | * | thomasross_ quit (Remote host closed the connection) |
16:37:26 | * | thomasross_ joined #nim |
16:38:21 | * | TjYoco quit (Quit: Leaving) |
16:39:11 | * | Jesin quit (Quit: Leaving) |
16:39:53 | * | yglukhov quit (Read error: Connection reset by peer) |
16:39:54 | * | yglukhov_ joined #nim |
16:41:23 | livcd | oh Local\Temp\nimble_9048\githubcom_yglukhovjsbind\jsbind\nimcache\jsbind_emcc_wrapper_win32.o: No such file or directory |
16:43:44 | livcd | well i have to say this is not one of the best experiences i had :/ |
16:44:11 | * | yglukhov_ quit (Ping timeout: 258 seconds) |
16:45:27 | * | rauss joined #nim |
16:50:06 | nim_newb | livcd: How are you installing jsbind? |
16:50:48 | FromGitter | <dandevelo> Is there any way to exapnd a converter inline? See this gist: https://gist.github.com/anonymous/89dd85dd8df546247ef51ab48166ab40 |
16:51:11 | nim_newb | livcd: also can you post a pic (if you are on windows 10) or the complete text (if windows < 10) contained in your path |
16:51:22 | FromGitter | <dandevelo> Is there any way to tell the compiler to simply generate a uin32(x) cast instead of a function call? |
16:51:59 | nim_newb | livcd: My path contains `E:\Dev\nim\bin;%USERPROFILE%\.nimble\bin;E:\Dev\nim\mingw64\bin` for nim, nimble and mingw respectively |
16:52:54 | * | Jesin joined #nim |
16:53:52 | nim_newb | livcd: for me `nimble install jsbind` finished successfully without any issues. I would recommend cleaning up your path and the reinstalling nim and mingw (Shouldn't take more than a couple of minutes). Hopefully that would fix all issues. |
16:55:27 | FromGitter | <Yardanico> @gogolxdong you can't, because Jester is made for Nim. |
16:55:58 | * | Sembei joined #nim |
16:56:55 | FromGitter | <Yardanico> @dandevelo what do you want to do ? |
16:57:08 | * | Pisuke quit (Ping timeout: 246 seconds) |
16:58:53 | FromGitter | <dandevelo> @Yardanico It is my C/C++ brain at work :) For the moment the Nim compiler writes that converter in C as a function call and I believe an inline cast would be faster. Just found out about the {.inline.} pragma. Maybe this is what I need? |
16:59:09 | FromGitter | <Yardanico> yes |
16:59:55 | nim_newb | livcd: You can try to download the repo https://github.com/yglukhov/jsbind and run `nimble install`. If that works, then good enough, else I recommend a clean install of nim and cleansing up of PATH. |
16:59:58 | * | nim_newb quit (Quit: Page closed) |
17:00:27 | FromGitter | <Yardanico> @dandevelo, inline maps to *inline*, which is a suggestion to the C compiler to inlien the function |
17:00:32 | FromGitter | <Yardanico> `__inline__` |
17:00:49 | FromGitter | <Yardanico> C compiler will not always inline your function |
17:00:54 | FromGitter | <dandevelo> Yep, I believe that is what I need. Thanks! |
17:04:34 | * | couven92 quit (Quit: Client disconnecting) |
17:05:06 | * | zolk3ri quit (Ping timeout: 246 seconds) |
17:06:50 | FromGitter | <data-man> @Yardanico: you read what I told you at night about tcc? |
17:12:01 | FromGitter | <Yardanico> @data-man about embedding TCC as a library? |
17:14:12 | FromGitter | <data-man> yes |
17:15:01 | FromGitter | <data-man> @livcd: I will try to explain to you better. ⏎ Since you write programs for windows, you may need many utilities and libraries for c. ⏎ With msys2 and pacman, you get a handy tool for managing all the tools: make, cmake, gcc, clang, python2 / 3, and much more. ⏎ Do not spare a bit of time to study and in the future you will get many benefits. [https://gitter.im/nim-lang/Nim?at=59fb5294f7299e8f53641121] |
17:17:58 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
17:18:20 | * | zolk3ri joined #nim |
17:20:06 | * | endragor quit (Remote host closed the connection) |
17:20:13 | * | endragor joined #nim |
17:33:48 | * | nsf joined #nim |
17:34:05 | * | tdc__ quit (Read error: Connection reset by peer) |
17:53:55 | * | vlad1777d joined #nim |
18:07:29 | * | Arrrr quit (Ping timeout: 248 seconds) |
18:09:30 | FromGitter | <mratsim> @dandevelo check the C code, it’s the best way to ensure you get what you expect ;) |
18:09:49 | * | Ven joined #nim |
18:10:02 | Araq | or even better: check the produced assembler |
18:10:12 | * | Ven is now known as Guest34073 |
18:10:59 | * | slim_jim_jiss quit (Ping timeout: 246 seconds) |
18:16:26 | * | oky left #nim (#nim) |
18:17:01 | * | claudiuinberlin joined #nim |
18:19:40 | * | endragor quit (Remote host closed the connection) |
18:23:35 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:26:34 | * | claudiuinberlin joined #nim |
18:31:32 | * | voice_ftp joined #nim |
18:32:05 | * | UxerUospr joined #nim |
18:34:05 | * | voiceftp quit (Ping timeout: 240 seconds) |
18:43:50 | * | yglukhov joined #nim |
18:44:16 | * | yglukhov quit (Client Quit) |
18:46:26 | * | slim_jim_jiss joined #nim |
18:48:09 | * | claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:48:27 | * | JappleAck quit (Ping timeout: 240 seconds) |
18:49:29 | * | claudiuinberlin joined #nim |
18:50:37 | * | Jesin quit (Quit: Leaving) |
18:54:29 | * | Jesin joined #nim |
18:58:42 | * | thomasross_ quit (Remote host closed the connection) |
18:58:58 | * | thomasross_ joined #nim |
19:00:08 | * | endragor joined #nim |
19:00:32 | * | yglukhov joined #nim |
19:02:02 | * | JappleAck joined #nim |
19:05:11 | * | endragor quit (Ping timeout: 252 seconds) |
19:09:39 | * | endragor joined #nim |
19:15:37 | * | Guest34073 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:20:59 | * | PMunch joined #nim |
19:23:30 | PMunch | dom96, maybe you should close some of the issues I referenced here: https://github.com/dom96/jester/pull/127 |
19:33:23 | * | Ven joined #nim |
19:33:48 | * | Ven is now known as Guest7149 |
19:34:21 | livcd | data-man: yeah when I will have the time to dig in. It's a similar wart like gopath in go anyway. Though it's irritating because I thought my PATH is fine |
20:00:42 | * | nsf quit (Quit: WeeChat 1.9.1) |
20:01:10 | * | Vladar quit (Remote host closed the connection) |
20:05:51 | * | endragor_ joined #nim |
20:09:16 | * | endragor quit (Ping timeout: 258 seconds) |
20:09:28 | FromGitter | <Gooseus> ```code paste, see link``` ⏎ ⏎ ^ any ideas why I would a `Error: cannot evaluate at compile time: notEncode` for this proc here? [https://gitter.im/nim-lang/Nim?at=59fb7b7832e080696e595634] |
20:13:58 | * | Arrrr joined #nim |
20:13:58 | * | Arrrr quit (Changing host) |
20:13:58 | * | Arrrr joined #nim |
20:17:40 | FromGitter | <data-man> @Araq: I want to reimplement sighashes. ⏎ Instead of calculating a hashes, make a counter for each a symbol type. ⏎ It seems to me that this will be faster. ⏎ What do you think? [https://gitter.im/nim-lang/Nim?at=59fb7d644ff065ac18aab573] |
20:18:40 | FromGitter | <Yardanico> @Gooseus can you show how you're calling this proc? |
20:19:25 | * | Arrrr quit (Read error: Connection reset by peer) |
20:21:06 | FromGitter | <Yardanico> @Gooseus and btw, why do you need this proc? |
20:21:08 | FromGitter | <Yardanico> it's in cgi module |
20:21:11 | FromGitter | <Yardanico> https://github.com/nim-lang/Nim/blob/master/lib/pure/cgi.nim#L34 |
20:21:21 | * | endragor_ quit (Remote host closed the connection) |
20:21:37 | * | Snircle quit (Ping timeout: 252 seconds) |
20:21:57 | * | endragor joined #nim |
20:22:37 | FromGitter | <Gooseus> @Yardanico need it for AWS specific URI encoding, this was actually code that @Varriount gave to me as an optimization yesterday - https://play.nim-lang.org/?gist=143a6db7a8c604e05c42275c5a0d2555 |
20:23:23 | FromGitter | <Yardanico> ah |
20:23:31 | FromGitter | <Yardanico> {"="} is a set of string |
20:23:36 | FromGitter | <Yardanico> which is not supported |
20:23:41 | FromGitter | <Yardanico> use {'='} |
20:24:03 | FromGitter | <Gooseus> ah, that doesn't work either though |
20:24:03 | FromGitter | <Yardanico> because chars are made with ' |
20:24:05 | FromGitter | <Yardanico> it works |
20:24:13 | FromGitter | <Yardanico> ah |
20:24:15 | FromGitter | <Yardanico> it doesn't :P |
20:24:15 | FromGitter | <Yardanico> hmm |
20:24:24 | FromGitter | <Yardanico> ah I see |
20:24:28 | FromGitter | <Yardanico> there's an error in this code |
20:25:36 | FromGitter | <Yardanico> you can't have runtime values in "case" branches |
20:25:50 | FromGitter | <Yardanico> try this: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59fb7f4df7299e8f53651177] |
20:26:17 | FromGitter | <Gooseus> ah, ok, was not aware of that |
20:26:37 | FromGitter | <Yardanico> well you can have one "if" here |
20:26:42 | FromGitter | <Yardanico> but it would be longer than 80 chars :) |
20:28:38 | FromGitter | <Gooseus> haha, yeah? what if that set was a const somewhere else... I'm assuming you can do some set math and just check the result? |
20:29:46 | * | endragor quit (Ping timeout: 264 seconds) |
20:30:00 | * | darkn0de quit (Quit: Leaving) |
20:30:37 | FromGitter | <Yardanico> well you don't need a const then, directly compare in this proc |
20:31:52 | FromGitter | <Gooseus> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59fb80b7b20c6424297dc388] |
20:32:56 | FromGitter | <Yardanico> well no |
20:33:05 | FromGitter | <Yardanico> 1) would happen at runtime anyway |
20:33:08 | FromGitter | <Yardanico> `+` |
20:33:49 | * | UxerUospr quit (Quit: Lost terminal) |
20:33:55 | * | endragor joined #nim |
20:38:23 | * | endragor quit (Ping timeout: 248 seconds) |
20:44:50 | * | Snircle joined #nim |
20:46:42 | * | endragor joined #nim |
20:48:38 | * | couven92 joined #nim |
20:51:27 | * | endragor quit (Ping timeout: 260 seconds) |
20:56:49 | * | miran_ quit (Ping timeout: 252 seconds) |
21:04:48 | * | yglukhov quit (Remote host closed the connection) |
21:06:02 | * | gokr joined #nim |
21:06:10 | * | gokr left #nim (#nim) |
21:10:14 | Araq | data-man: that means the C code is not really deterministic anymore |
21:10:39 | Araq | add a type to some leave module and watch everything gets rebuild |
21:11:34 | Araq | we used to do that ID generation scheme you suggest |
21:15:17 | * | PMunch quit (Quit: leaving) |
21:15:39 | Araq | *leaf module |
21:17:46 | FromGitter | <data-man> And what about a mangling scheme that is used in the D compiler? https://github.com/dlang/dmd/blob/master/src/ddmd/dmangle.d |
21:18:52 | * | JappleAck quit (Ping timeout: 260 seconds) |
21:19:44 | * | endragor joined #nim |
21:24:01 | * | endragor quit (Ping timeout: 240 seconds) |
21:24:16 | * | slim_jim_jiss quit (Quit: Going to sleep. ZZZzzzz...) |
21:26:02 | FromGitter | <Varriount> @Gooseus It was actually quite nice, optimizing the string handling code. |
21:26:17 | FromGitter | <Varriount> It hit a sweet spot with regards to difficulty |
21:26:27 | FromGitter | <Yardanico> @Varriount you can't have runtime variables in case statement though :) |
21:27:31 | FromGitter | <Varriount> Ah, I can fix that |
21:35:17 | * | yglukhov joined #nim |
21:36:01 | * | Trustable quit (Remote host closed the connection) |
21:36:17 | * | JappleAck joined #nim |
21:36:36 | FromGitter | <Varriount> @Gooseus https://play.nim-lang.org/?gist=589d2bd9a2ecfbe9798192a1b691b678 |
21:36:48 | FromGitter | <Varriount> @Yardanico ^ |
21:37:21 | FromGitter | <Varriount> I don't know how much of an optimization that is though. |
21:37:52 | FromGitter | <Yardanico> maybe it's better to just use if in the second proc? |
21:37:54 | FromGitter | <Yardanico> I don't know too |
21:38:03 | FromGitter | <Yardanico> you can use "nimbench" to benchmark it :P |
21:38:38 | FromGitter | <Varriount> Good idea |
21:39:09 | couven92 | Araq, there's a future module? |
21:39:58 | * | yglukhov quit (Ping timeout: 264 seconds) |
21:40:02 | FromGitter | <Yardanico> yes |
21:40:25 | couven92 | huh... where we put future things that we don't know where to put yet? |
21:41:42 | FromGitter | <Yardanico> https://nim-lang.org/docs/future.html |
21:42:21 | couven92 | cool! |
21:42:24 | FromGitter | <Yardanico> but -> and => were there since forever :D |
21:42:32 | couven92 | I didn't know about that |
21:42:53 | couven92 | Araq, is suggesting to put dom96 requested `asArray` in there... |
21:42:54 | FromGitter | <Yardanico> https://github.com/nim-lang/Nim/commit/232d2528859f7eb6a47bdc274bcba67c8fdaedff#diff-6c1c594e98efc6fd46a46e1123133483 |
21:42:57 | FromGitter | <Yardanico> 3 years |
21:43:09 | FromGitter | <Varriount> couven92: asArray? |
21:43:11 | couven92 | And now it actually sounds like a good idea :P |
21:43:25 | FromGitter | <Yardanico> @Varriount https://github.com/nim-lang/Nim/pull/6640 |
21:43:28 | couven92 | https://github.com/nim-lang/Nim/pull/6640 |
21:43:48 | couven92 | oh, sorry |
21:50:55 | FromGitter | <Varriount> I remember a certain compression format for very large files being discussed a week or two ago - anyone know what it was? |
21:51:31 | Araq | data-man: I doubt it would work for Nim, Nim has gensym'ed symbols |
21:51:41 | Araq | they make things more complex |
21:53:54 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
21:55:08 | FromGitter | <data-man> @Araq: Ok, thanks. But I'll still think about it. :) |
21:57:09 | Araq | data-man: it's been long ago since I benchmarked the compiler |
21:57:20 | Araq | is much time spent in the signature hashing? |
22:02:37 | * | zolk3ri quit (Quit: leaving) |
22:07:58 | * | nsf joined #nim |
22:07:59 | FromGitter | <data-man> @Araq: currently using md5, that very slow |
22:08:34 | FromGitter | <mratsim> Is there a way to tell a template not to replace an identifier? ⏎ ⏎ ```template foo(t: typed, axis:int): typed = ⏎ t.axis(axis)``` ⏎ ⏎ I don’t understand when but tome times Nim considers `foo(t, 1)` as `t.1(1)` [https://gitter.im/nim-lang/Nim?at=59fb97622a69af844b3f85b9] |
22:08:55 | FromGitter | <data-man> But the Nim compiler is still very fast :) |
22:20:42 | * | endragor joined #nim |
22:25:01 | * | endragor quit (Ping timeout: 240 seconds) |
22:36:04 | * | cspar_ joined #nim |
22:38:18 | * | cspar quit (Ping timeout: 246 seconds) |
22:43:38 | * | yglukhov joined #nim |
22:48:07 | * | yglukhov quit (Ping timeout: 260 seconds) |
22:52:39 | FromGitter | <data-man> @Araq: I updated my PR https://github.com/nim-lang/Nim/pull/6600/ for latest changes |
22:53:57 | * | nsf quit (Quit: WeeChat 1.9.1) |
23:02:40 | * | deathstar joined #nim |
23:06:07 | * | Guest7149 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:08:56 | * | couven92 quit (Quit: Client Disconnecting) |
23:12:58 | * | endragor joined #nim |
23:14:27 | * | deathstar quit (Read error: Connection reset by peer) |
23:14:55 | * | deathstar joined #nim |
23:17:27 | * | endragor quit (Ping timeout: 240 seconds) |
23:20:43 | * | endragor joined #nim |
23:21:48 | * | yglukhov joined #nim |
23:25:57 | * | yglukhov quit (Ping timeout: 240 seconds) |
23:27:22 | * | endragor quit (Ping timeout: 255 seconds) |
23:32:43 | * | endragor joined #nim |
23:33:02 | * | deathstar quit (Ping timeout: 260 seconds) |
23:36:52 | FromGitter | <Varriount> @mratsim: What about renaming the parameter? |
23:36:57 | * | endragor quit (Ping timeout: 240 seconds) |
23:37:57 | * | endragor joined #nim |
23:42:01 | * | endragor quit (Ping timeout: 240 seconds) |
23:49:19 | * | derlafff quit (Remote host closed the connection) |
23:49:49 | * | endragor joined #nim |
23:54:20 | * | endragor quit (Ping timeout: 246 seconds) |
23:59:26 | * | yglukhov joined #nim |