00:00:37 | dom96 | not a stable one |
00:19:38 | * | byte512_ joined #nim |
00:22:38 | * | byte512 quit (Ping timeout: 256 seconds) |
00:29:42 | GitDisc | <treeform> What should I use instead? "Warning: random is deprecated [Deprecated]" |
00:38:06 | * | derlafff quit (Remote host closed the connection) |
00:38:23 | * | derlafff joined #nim |
01:10:05 | * | JacobEdelman quit (Excess Flood) |
01:10:25 | * | JacobEdelman joined #nim |
01:13:46 | FromGitter | <zetashift> @treeform rand() : https://forum.nim-lang.org/t/3486 |
01:13:55 | FromGitter | <zetashift> second last post |
01:15:54 | FromGitter | <zetashift> `````` |
01:32:34 | * | MJCaley joined #nim |
02:03:10 | * | vivus joined #nim |
02:04:09 | * | yglukhov joined #nim |
02:08:35 | * | yglukhov quit (Ping timeout: 240 seconds) |
02:37:02 | * | SenasOzys_ quit (Remote host closed the connection) |
02:44:52 | * | MJCaley quit (Quit: MJCaley) |
02:52:48 | * | chemist69 quit (Ping timeout: 256 seconds) |
02:56:33 | FromGitter | <zacharycarter> @mratsim thanks for the game engine links - found some new stuff :) |
02:56:58 | FromGitter | <zacharycarter> @Yardanico I did not see that - that stinks though :/ |
03:06:21 | * | chemist69 joined #nim |
03:06:42 | * | endragor joined #nim |
03:18:55 | * | vlad1777d quit (Ping timeout: 248 seconds) |
03:19:18 | * | arnetheduck quit (Ping timeout: 252 seconds) |
03:24:55 | * | vivus quit (Quit: Leaving) |
03:32:11 | * | arnetheduck joined #nim |
03:40:26 | GitDisc | <treeform> @zetashift thanks! |
03:41:14 | * | instrud quit (Ping timeout: 276 seconds) |
04:09:14 | * | arthurz joined #nim |
04:29:23 | arthurz | Hi, are there any #nim test frameworks? |
04:30:22 | * | dddddd quit (Remote host closed the connection) |
04:51:36 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
04:53:09 | * | Senketsu quit (Remote host closed the connection) |
04:59:44 | * | arthurz quit (Quit: Leaving) |
05:06:10 | * | Senketsu joined #nim |
05:39:26 | * | nsf joined #nim |
05:47:19 | * | endragor quit (Remote host closed the connection) |
06:03:42 | * | BitPuffin joined #nim |
06:09:23 | * | instrud joined #nim |
06:19:40 | * | tefter quit (Remote host closed the connection) |
06:22:51 | * | endragor joined #nim |
07:24:24 | FromGitter | <honewatson> What sort are you after? |
07:34:18 | * | enthus1a1t joined #nim |
07:35:41 | * | solitudesf joined #nim |
07:36:21 | * | enthus1ast quit (Ping timeout: 264 seconds) |
07:57:40 | * | RushPL quit (Remote host closed the connection) |
07:58:50 | * | RushPL joined #nim |
08:01:49 | * | gokr joined #nim |
08:10:11 | * | yglukhov joined #nim |
08:16:41 | * | qwert-san is now known as qwertfisch |
08:31:26 | * | yglukhov quit (Remote host closed the connection) |
08:36:20 | * | xkapastel quit (Quit: Connection closed for inactivity) |
08:36:58 | * | Yardanico_ joined #nim |
08:42:16 | FromGitter | <mratsim> There is unittest and "when isMainModule: doAssert" |
08:43:17 | * | Yardanico_ quit (Read error: Connection reset by peer) |
08:46:45 | * | floppydh joined #nim |
08:47:45 | * | rokups joined #nim |
08:48:23 | * | PMunch joined #nim |
09:09:25 | * | Arrrr joined #nim |
09:33:36 | * | j_rod_s quit (Read error: Connection reset by peer) |
09:35:57 | * | solitudesf quit (Ping timeout: 256 seconds) |
09:50:10 | * | sendell joined #nim |
09:55:45 | * | SenasOzys joined #nim |
09:59:07 | * | j_rod_s joined #nim |
10:01:20 | * | kier quit (Remote host closed the connection) |
10:01:57 | * | kier joined #nim |
10:05:48 | * | derlafff quit (Remote host closed the connection) |
10:06:10 | * | derlafff joined #nim |
10:40:40 | * | Vladar joined #nim |
10:48:33 | dom96 | Any of you guys want to help write a FOSDEM recap article? :) |
10:50:59 | FromGitter | <mratsim> what help do you need? |
10:53:21 | * | yglukhov joined #nim |
11:00:48 | * | yglukhov quit (Remote host closed the connection) |
11:03:52 | * | yglukhov joined #nim |
11:10:16 | FromGitter | <krux02> if there a fosdem video updloaded somewhere? |
11:10:23 | FromGitter | <krux02> I want to see it |
11:17:48 | PMunch | dom96, I already tried to write up my common-questions post. But managed to hit the wrong keyboard shortcut and closed the window without saving :( |
11:18:04 | PMunch | What kind of recap were you thinking? |
11:22:16 | FromGitter | <ChristianWitts> @krux02 https://fosdem.org/2018/schedule/ |
11:23:17 | PMunch | All the talks are also on YouTube |
11:25:16 | * | vlad1777d joined #nim |
11:25:32 | * | gokr left #nim (#nim) |
11:25:57 | FromGitter | <Bennyelg> this is the nimorm to use? |
11:25:58 | FromGitter | <Bennyelg> https://github.com/nanoant/nim-orm |
11:25:59 | FromGitter | <Bennyelg> ? |
11:27:29 | dom96 | Not really sure what kind of recap. Just trying to let others know how things went I suppose |
11:27:33 | dom96 | The common questions are a good idea |
11:27:46 | dom96 | Maybe you'd be up for writing them up again? And saving them this time? :) |
11:29:25 | PMunch | Yeah, I was actually thinking of it the other day |
11:35:19 | dom96 | awesome :) |
11:37:02 | * | yglukhov quit (Remote host closed the connection) |
11:42:28 | PMunch | Just logged an error report with the CMS as well to let them know they should include an auto-save feature :P |
11:49:35 | dom96 | Here is one recap that somebody wrote: https://kopano.io/chocolates-and-conversations-at-fosdem-2018/ |
12:00:41 | * | yglukhov joined #nim |
12:02:32 | planetis[m] | how 'moigagoo' made commits without a PR and f* sh* up? https://github.com/nim-lang/Nim/commits/devel/lib/pure/collections/tables.nim |
12:04:10 | dom96 | what did he f* up? |
12:05:37 | * | yglukhov quit (Remote host closed the connection) |
12:06:07 | planetis[m] | toCountTable |
12:06:36 | planetis[m] | smth as simple... |
12:08:21 | dom96 | elaborate |
12:08:23 | dom96 | is it now broken? |
12:08:58 | * | yglukhov joined #nim |
12:09:44 | planetis[m] | yes it doen't compile. |
12:09:49 | planetis[m] | i made a PR |
12:09:50 | * | Snircle joined #nim |
12:10:57 | planetis[m] | btw how he made changes without a pull request? |
12:12:33 | dom96 | I guess he has commit access |
12:18:33 | dom96 | anyway, I merged your PR |
12:20:34 | planetis[m] | thx dom |
12:22:00 | * | yglukhov quit (Remote host closed the connection) |
12:25:38 | * | yglukhov joined #nim |
12:25:51 | * | yglukhov quit (Remote host closed the connection) |
12:28:33 | * | vlad1777d quit (Ping timeout: 264 seconds) |
12:31:14 | * | SenasOzys quit (Ping timeout: 260 seconds) |
12:34:25 | enthus1a1t | PMunch: i want to report about my cms search, we have played with couchecms but where not really happy with it. So we've choosen bolt-cms. If you have to build something for a customer (and there is no apropriate nim cms ;) ) try bolt! |
12:35:41 | enthus1a1t | a bolt-cms nim clone would be it |
12:36:42 | PMunch | Hmm, interesting |
12:37:08 | PMunch | What didn't you like with CouchCMS and how does Bolt compare? |
12:39:04 | enthus1a1t | bolt uses twig templateing (which is in fact a jinja2 clone), everything is much clearer (and more mature), the multilang support is better, the model system is better ... |
12:39:09 | * | SenasOzys joined #nim |
12:39:53 | PMunch | Model system? |
12:40:56 | enthus1a1t | it looks a little bit like ormin, you define your model which gets created on the db and defines the rendering in the admin panel |
12:41:23 | PMunch | Ah, so it's a bit more manual that Couch in that regard |
12:41:31 | PMunch | I can see how that would be nice |
12:41:54 | PMunch | Couch does have a bit of a "magic" feel to it |
12:42:10 | PMunch | You don't always know 100% if something is going to do what you think it will or not :P |
12:46:36 | PMunch | When I was loooking for a CMS last time I was actually considering to just write my own |
12:46:53 | enthus1a1t | i where too... |
12:47:26 | PMunch | Hmm |
12:47:32 | PMunch | Maybe a CMS creator is the answer |
12:47:56 | PMunch | Everyone eventually considers writing their own CMS, so maybe writing something that makes it easier to write CMS'es is the answer |
12:48:23 | enthus1a1t | i've started a jinja2 clone but it lacks control features like for and if |
12:48:54 | enthus1a1t | thats because i've never written a complete language parser yet... |
12:48:56 | PMunch | Man, the wib-space moves too fast to just dip in and out of :P |
12:49:03 | PMunch | Never even heard of Jinja |
12:49:11 | PMunch | And now there's a sequel? |
12:50:03 | enthus1a1t | i think the template inheritance is very good in jinja |
12:50:42 | * | Arrrr quit (Read error: Connection reset by peer) |
12:51:38 | PMunch | Oh wait, I was playing around with Flask, so apparently I've used Jinja2 :P |
12:51:48 | enthus1a1t | yes |
12:52:21 | enthus1a1t | and twig is the php version of it (and nimWebTemplates was my attempt to clone it) |
13:00:35 | * | nc-x joined #nim |
13:02:35 | dom96 | well, there you go |
13:03:17 | PMunch | Huh? |
13:07:54 | * | nc-x quit (Quit: Page closed) |
13:09:53 | dom96 | oh right, I muted webchat |
13:09:58 | dom96 | because troll |
13:10:03 | dom96 | sorry nc-x |
13:10:08 | dom96 | <nc-x> dom96, planetis[m]: Here is the counttable PR by moigagoo https://github.com/nim-lang/Nim/pull/6977 |
13:10:13 | dom96 | This is what nc-x said |
13:10:24 | dom96 | please use gitter instead if you can |
13:10:48 | FromGitter | <nc-x> Okay 😄 👍 |
13:16:09 | * | dddddd joined #nim |
13:23:57 | dom96 | You guys have any ideas how to better solve this? https://github.com/nim-lang/Nim/pull/7149 |
13:26:01 | FromGitter | <mratsim> kill http with fire? :trollface: |
13:27:56 | dom96 | I could maybe make the API better by using iterators |
13:28:04 | Araq | hmm my OSX cannot write to my external hard disk |
13:28:06 | dom96 | but that would just build over the callbacks |
13:28:35 | FromGitter | <mratsim> @Araq, that’s FAT (pun intended) |
13:28:45 | Araq | no, NTFS |
13:28:55 | dom96 | OSX cannot write to NTFS IIRC |
13:29:19 | Araq | OSX is pure shit. |
13:29:26 | dom96 | er... MS patents probably prevent it |
13:29:27 | FromGitter | <mratsim> ntfs-3g works, availaible in homebrew casks |
13:29:42 | dom96 | So actually, MS sucks |
13:29:44 | Araq | dom96: Linux can do it |
13:30:05 | FromGitter | <mratsim> the guy who did it exposed himself to a lawsuit |
13:30:28 | dom96 | out of the box? doubt it |
13:30:42 | FromGitter | <mratsim> but it does through ntfs-3g like in OSX. The only issue is that the rtfs-3g driver are huge CPU hogs |
13:31:17 | Araq | dom96: pretty sure, out of the box but I haven't run Linux for quite some time |
13:31:24 | livcd | yeah i remember installing ntfs-3g on osx when i needed to do it |
13:31:40 | Araq | it fails to boot in my VM and I can't be bothered to reinstall it |
13:31:59 | Araq | ntfs-3g: OsxfuseRequirement unsatisfied! |
13:31:59 | Araq | You can install with Homebrew-Cask: |
13:31:59 | Araq | brew cask install osxfuse |
13:32:01 | Araq | You can download from: |
13:32:03 | Araq | https://osxfuse.github.io/ |
13:32:31 | Araq | thank god we have 'brew' otherwise I would ... need to ... do the same. |
13:33:38 | dom96 | Better than "Cannot install due to unknown error" |
13:36:01 | Araq | it's not my fault return values and errno can disagree |
13:36:28 | dom96 | Oh, I wasn't making a dig on Nim there |
13:37:10 | dom96 | Ugh, these http client streaming semantics are difficult. |
13:37:17 | Araq | in fact, errno is an abomination ;-) |
13:37:33 | Araq | so ... I got ntfs-3g |
13:37:45 | Araq | now what? 'cp -r ' fails anyway |
13:37:57 | dom96 | What should happen if the user makes a request without reading the body, then makes another request? |
13:38:05 | dom96 | Should the body be read automatically and discarded? |
13:38:12 | dom96 | Should the body be read automatically and kept? |
13:38:37 | Araq | shouldn't I use 2 request objects for 2 requests? |
13:38:58 | dom96 | You don't use request objects |
13:39:04 | dom96 | They are returned by the `request` proc |
13:39:10 | dom96 | You use an HttpClient object |
13:39:21 | dom96 | And there are times when it is reused |
13:39:28 | Araq | yes, that API is bad :-) |
13:39:38 | dom96 | oh of course. |
13:39:42 | dom96 | So we need to rewrite httpclient |
13:39:43 | dom96 | okay |
13:39:49 | Araq | nah |
13:39:52 | dom96 | I'll just close my PR and allow you to do that |
13:39:52 | Araq | not rewrite |
13:40:18 | Araq | well you asked for our opinion |
13:40:34 | Araq | not fair to get upset about it |
13:40:48 | FromGitter | <Vindaar> @Araq: how did you mount the drive? Normally on Linux if you mount an ntfs drive as ⏎ ``mount -t ntfs-3g /dev/sda1 /mnt/Data"`` ⏎ it automatically mounts it with read write access |
13:40:55 | Araq | and I argued against this API before anyway |
13:40:58 | FromGitter | <Vindaar> Nevermind the " |
13:41:44 | dom96 | Araq: I'm still waiting for you to explain what is bad about it |
13:42:46 | dom96 | Also, I asked a very specific question |
13:42:53 | dom96 | You chose to say the whole thing is bad |
13:43:32 | Araq | well you yourself just told us why it's bad |
13:43:51 | Araq | it is stateful |
13:43:58 | Araq | sometimes it's re-used. |
13:44:27 | Araq | how to pass HTTP headers wasn't obvious to me |
13:44:39 | Araq | that would be another point about it. |
13:45:37 | Araq | proc httpRequest(method: GET/PUT, headers, url, proxies, followRedirects): Request |
13:45:56 | dom96 | Okay, so it seems you don't understand why it's stateful |
13:46:49 | Araq | would be my "natural" API, probably with even more parameters because HTTP is awful junk |
13:47:59 | * | chemist69 quit (Ping timeout: 255 seconds) |
13:48:22 | * | chemist69 joined #nim |
13:49:06 | dom96 | This is really a minor detail |
13:49:09 | dom96 | that we can easily improve |
13:49:32 | Araq | so why is it stateful? |
13:49:52 | dom96 | Because you don't want to reconnect to google.com for each request |
13:49:58 | dom96 | or any other website |
13:50:08 | dom96 | most requests have a couple of redirects |
13:50:37 | dom96 | Users also often request multiple resources from the same website |
13:50:49 | dom96 | Reconnecting would be very slow |
13:51:47 | Araq | ok but don't store the return value in there |
13:52:02 | Araq | the return value should be returned |
13:52:34 | Araq | (or passed via 'result: var Request' as an optimization) |
13:52:53 | dom96 | well I was wrong |
13:52:55 | dom96 | there is no Request |
13:52:58 | dom96 | There is only a Response |
13:53:03 | dom96 | You've dreamt it up |
13:53:20 | Araq | no, it was actually a typo |
13:53:47 | dom96 | I'm not storing Response anywhere |
13:54:25 | Araq | ok, so there is no problem? |
13:54:25 | dom96 | !eval import httpclient, typetraits; var x = newHttpClient(); echo(type(x.request)) |
13:54:27 | NimBot | Compile failed: in.nim(1, 68) Error: type mismatch: got (HttpClient) |
13:54:47 | dom96 | There is a problem |
13:55:00 | dom96 | You still haven't answered my question |
13:55:00 | FromGitter | <andreaferretti> !eval import httpclient, typetraits; var x = newHttpClient(); echo(type(x.response)) |
13:55:03 | NimBot | Compile failed: in.nim(1, 68) Error: undeclared field: 'response' |
13:55:16 | FromGitter | <andreaferretti> just checking :-) |
13:55:36 | dom96 | !eval import httpclient, typetraits; var x = newHttpClient(); echo(type(x.request("google.com"))) |
13:55:38 | Araq | well rephrase your question |
13:55:38 | NimBot | Compile failed: in.nim(1, 76) Error: type mismatch: got (type Response) |
13:56:26 | dom96 | Should the Response object store the read body forever |
13:56:30 | dom96 | or should it be discarded |
13:57:19 | dom96 | To be honest I think the former option is better |
13:58:13 | Araq | the response object offers some way to lazily read the data, no? |
13:58:30 | Araq | if I discard it, well it should not read anything and be discarded |
13:58:58 | dom96 | The data needs to be read before a new request is made |
13:59:12 | dom96 | I can't make a new request until the data is read |
13:59:14 | dom96 | That's the problem |
14:00:12 | FromGitter | <andreaferretti> many libraries offer a simple api that reconnects each time |
14:00:42 | FromGitter | <andreaferretti> or you can opt-in in a more complex and subtle api to first establish a connection and then reuse it |
14:00:50 | FromGitter | <andreaferretti> as many times as needed |
14:01:15 | FromGitter | <andreaferretti> the former being implemented on top of the latter |
14:02:11 | Araq | mount -t ntfs-3g /Volumes/Elements/ ~/projects/elements/ |
14:02:11 | Araq | mount: exec /Library/Filesystems/ntfs-3g.fs/Contents/Resources/mount_ntfs-3g for /Users/andreasrumpf-mac/projects/elements: No such file or directory |
14:02:31 | Araq | but that is a valid directory |
14:02:51 | dom96 | A separate problem is that async/sync will behave differently (sync will not read the body, but async will) |
14:03:10 | dom96 | But we can solve that later by extending the functionality of FutureStream |
14:04:39 | Araq | well the library should just fail when misused |
14:04:58 | Araq | if I make another request and the old one is still pending, that's my fault |
14:05:25 | Araq | reading data that I didn't ask for can have unforeseen consequences |
14:05:50 | dom96 | ok |
14:06:33 | dom96 | That might turn out to be quite painful |
14:06:38 | dom96 | but we'll be able to change it if it is |
14:08:00 | Araq | true |
14:13:59 | FromGitter | <Vindaar> I hardly know anything about OSX, but shouldn't the /Volumes directory already refer to a disk that was already mounted? So that the error is not actually referring to your projects/elements but rather volumes/elements |
14:14:51 | FromGitter | <Vindaar> At least that's what I gather from looking at https://github.com/osxfuse/osxfuse/wiki/NTFS-3G the |
14:16:39 | dom96 | mounting in your ~/projects dir... that looks risky |
14:19:12 | enthus1a1t | many reconnects and https is bad |
14:27:01 | dom96 | so what's better, an iterator or a procedure that takes two callbacks? |
14:28:23 | dom96 | if an iterator even works... |
14:28:39 | Araq | a closure iterator would work |
14:29:12 | * | yglukhov joined #nim |
14:29:42 | dom96 | yeah, but the idea would be to allow: for data in response.bodyStream: |
14:33:09 | dom96 | tests already fail because of this new error |
14:33:50 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
14:33:53 | * | yglukhov quit (Ping timeout: 255 seconds) |
14:34:04 | * | MJCaley joined #nim |
14:34:57 | * | Vladar quit (Remote host closed the connection) |
14:36:07 | FromGitter | <tim-st> not sure if I'm doing a beginner mistake, but when I add a `var m: MyType` to a `seq[MyType]` and after that do `m = newMyType()` this changes all previous elements in seq to be always the last, do I need deepCopy for this? |
14:41:18 | FromGitter | <zacharycarter> so with the anonymous gist deprecation incoming - do we make users login to use the gist feature? |
14:41:25 | FromGitter | <zacharycarter> or do we find an alternative |
14:41:27 | FromGitter | <zacharycarter> for the playground |
14:42:09 | PMunch | Hmm, make users log in but add pastebin support? |
14:42:12 | PMunch | Or ix.io |
14:45:30 | dom96 | make users login |
14:46:23 | PMunch | Or have a user for playground with an optional login to your own user? |
14:47:27 | FromGitter | <zacharycarter> the user for an app thing doesn't work out too great in practice :/ |
14:47:58 | FromGitter | <zacharycarter> I'll just make users log in for now - if we want to add more integration points later and I have time, I will |
14:50:44 | FromGitter | <mratsim> The playground should make it easy to try out Nim even as a beginner without a github |
14:50:58 | FromGitter | <mratsim> maybe Gitlab as something equivalent? or bitbucket? |
14:51:20 | FromGitter | <zacharycarter> well it still will |
14:51:27 | FromGitter | <zacharycarter> I just mean you'll have to log in to use the gist functionality |
14:52:00 | FromGitter | <mratsim> @tim-st I suppose MyType is a reference type, if so all `s` in your seq will point to the same data as s |
14:52:41 | * | Vladar joined #nim |
14:52:45 | * | solitudesf joined #nim |
14:53:14 | * | endragor quit (Remote host closed the connection) |
14:53:40 | * | endragor joined #nim |
14:53:43 | FromGitter | <mratsim> If you want your type to work like integers, float, etc, use an `object`. If you want your type to work like object in Python or Java (i.e. assignment doesn’t copy) use a `ref object` |
14:53:57 | * | xkapastel joined #nim |
14:53:59 | FromGitter | <tim-st> Thanks, I now built a minimum example with my use case, it works there, maybe I have a bug |
14:54:12 | FromGitter | <tim-st> it's a var tuple |
14:54:40 | FromGitter | <mratsim> of what? |
14:57:44 | FromGitter | <tim-st> the fields are int, string, seq, hashset, bool did you mean this? |
14:57:57 | * | endragor quit (Ping timeout: 240 seconds) |
14:58:49 | FromGitter | <tim-st> no wrong tuple, my use case had the fields int, string, bool |
15:01:56 | FromGitter | <tim-st> proc test(section: var MwSection, dest: var MwText) = ⏎ dest = newMwText() ⏎ section.texts.add(dest) |
15:13:26 | * | yglukhov joined #nim |
15:17:53 | * | yglukhov quit (Ping timeout: 248 seconds) |
15:24:29 | FromGitter | <mratsim> strange, all those should copy on assignment |
15:27:57 | FromGitter | <tim-st> Thought so, too. I even tested it via echo every tuple before new assignment (and these are correct). I'm searching for possible bug for a few hours now :( |
15:32:58 | PMunch | Yeah that is strange |
15:50:03 | * | Arrrr joined #nim |
15:53:15 | * | miran joined #nim |
15:57:34 | FromGitter | <sclee15> Is there any weekly update newsletter for nim community? |
15:57:53 | FromGitter | <tim-st> Ok, I found it. It was a bug/mistake; I didnt used `var a=b` but just `a=b` :\ . Thanks for your help |
16:00:11 | dom96 | sclee15: nope, would be great if someone started one though :) |
16:05:01 | * | miran quit (Quit: Konversation terminated!) |
16:07:15 | * | miran joined #nim |
16:08:52 | PMunch | Newsletter? What would that contain? |
16:09:14 | miran | "nim v1.0 will be released soon (TM)" |
16:09:30 | PMunch | Just that statement, released weekly :P |
16:09:38 | miran | exactly! |
16:17:06 | * | athenot joined #nim |
16:17:18 | * | gokr joined #nim |
16:22:10 | livcd | i watched a video of araq from 015 where he said 1.0 will be released soon :D |
16:22:20 | livcd | 2015* |
16:22:23 | * | gokr quit (Read error: No route to host) |
16:24:19 | * | yglukhov joined #nim |
16:24:52 | PMunch | I talked to him about it during FOSDEM and the plan was already to release earlier. But then "just one more fix" led to it being how it is now. Honestly though Nim has been in "1.0" for a long time, only difference is that fixes don't get backported so you get a fix and possibly have to change something |
16:28:27 | * | yglukhov quit (Ping timeout: 240 seconds) |
16:30:57 | * | kunev quit (Ping timeout: 264 seconds) |
16:33:25 | * | kunev joined #nim |
16:35:33 | FromGitter | <mratsim> @PMunch, I like “This week in Rust” https://this-week-in-rust.org/blog/2018/02/20/this-week-in-rust-222/ |
16:39:12 | PMunch | Hmm, that might be cool |
16:40:29 | Araq | we had that and it dropped off or something |
16:40:58 | FromGitter | <mratsim> I don’t think there are enough people doing weekly blog post to feed the beast |
16:41:14 | PMunch | Maybe do a bi-weekly thing` |
16:41:22 | PMunch | Or tri-weekly? |
16:41:37 | Araq | just write an article and post it on the website |
16:41:44 | * | floppydh quit (Quit: WeeChat 2.0.1) |
16:42:09 | Araq | we need less of "let's copy Rust" and more of "hey, look, I copied what Rust does" |
16:42:35 | Araq | be a doer. |
16:42:40 | miran | can we get 0.18 for a start? ;) |
16:43:28 | miran | people are saying "use devel rather than stable" - this screams to me that new version is ready |
16:43:38 | Araq | there is a regression I must fix |
16:43:44 | FromGitter | <krux02> A long time ago I posted a "I copied in nim what Go does" :P |
16:44:22 | FromGitter | <mratsim> I would love to have 0.18 now. The devel bug fixes / features I am relying on are starting to pile up |
16:44:43 | Araq | can't release with this codegen regression :-( |
16:45:39 | Demos[m] | I made a long post on the forums about using nim to write "system" packages and libraries on linux. Please tell me why I'm an idiot for even thinking this stuff is a good idea ;^) |
16:46:28 | Araq | I never say "idiot" to anybody. I tell people when they are doing stupid things. |
16:46:28 | * | Trustable joined #nim |
16:46:42 | Araq | geniuses can do stupid things from time to time. |
16:46:59 | Araq | and so can everybody else. |
16:47:16 | Araq | today I tried to use my HD on OSX. that was stupid too. |
16:47:19 | * | kier quit (Ping timeout: 260 seconds) |
16:47:24 | Araq | should have known. |
16:47:28 | Araq | ;-) |
16:47:57 | FromGitter | <mratsim> Using Windows is stupid imo ;) |
16:48:18 | PMunch | .DS_STORE |
16:48:31 | PMunch | Or whatever the name of those horrid OSX cache files are |
16:48:39 | FromGitter | <mratsim> thumbs.db says hi |
16:48:43 | dom96 | Anybody that uses proxies? Maybe you could figure out these problems? https://github.com/nim-lang/nimble/issues/86#issuecomment-367378546 |
16:49:19 | PMunch | Demos[m], why would that be a bad idea? |
16:50:19 | FromGitter | <mratsim> He is setting his expectations low to avoid being disappointed |
16:51:24 | PMunch | Haha, well I'm off work now |
16:51:30 | PMunch | So I'll be on later |
16:51:31 | * | PMunch quit (Quit: Leaving) |
16:51:37 | * | miran quit (Quit: Konversation terminated!) |
16:56:18 | * | gokr joined #nim |
16:59:09 | * | yglukhov joined #nim |
16:59:44 | subsetpark | dom96: I use a proxy and it works fine for me |
17:00:52 | dom96 | maybe it's a recent regression |
17:01:08 | dom96 | are you running latest Nimble? |
17:01:35 | Demos[m] | Holy wars are very easy to get into in packaging and package manager debates |
17:02:12 | FromGitter | <mratsim> I think it just has to do with being human ;) |
17:03:05 | FromGitter | <mratsim> completely offtopic: https://www.youtube.com/watch?v=Dyr1hYfuqJI |
17:03:54 | * | yglukhov quit (Ping timeout: 265 seconds) |
17:04:31 | * | kier joined #nim |
17:13:46 | * | miran joined #nim |
17:22:46 | * | chemist69 quit (Ping timeout: 256 seconds) |
17:25:09 | * | chemist69 joined #nim |
17:26:32 | * | miran quit (Quit: Konversation terminated!) |
17:26:39 | bl4rk | is there a way to use the dotnet api from nim? |
17:27:06 | subsetpark | dom96: trying again after `nimble install nimble@#head` |
17:28:14 | subsetpark | hmm - now it fails for different reasons :) |
17:28:24 | subsetpark | " Error: Nimble cannot find Nim's standard library." ? |
17:28:26 | subsetpark | :) |
17:28:38 | dom96 | Make sure you're compiling with Nim devel |
17:28:45 | dom96 | to test it properly |
17:29:11 | subsetpark | whith choosenim, right? |
17:29:53 | dom96 | sure, that works |
17:34:14 | subsetpark | ok - the version of nimble installed by choosenim works (it's the same version as above). after updating and installing devel with choosenim and then rerunning nimble install nimble@#head, i get the same error as above. |
17:39:39 | dom96 | okay, so solve that error |
17:39:50 | dom96 | and check if 'refresh' fails with your proxy |
17:47:03 | * | miran joined #nim |
17:53:06 | * | sendell quit (Remote host closed the connection) |
17:59:05 | * | Arrrr quit (Ping timeout: 268 seconds) |
18:02:30 | * | MJCaley quit (Quit: MJCaley) |
18:03:32 | * | JacobEdelman quit (Remote host closed the connection) |
18:04:09 | * | PMunch joined #nim |
18:13:28 | * | yglukhov joined #nim |
18:17:51 | * | yglukhov quit (Ping timeout: 256 seconds) |
18:19:46 | * | Vladar quit (Quit: Leaving) |
18:54:20 | * | yglukhov joined #nim |
18:57:44 | * | yglukhov quit (Remote host closed the connection) |
19:03:53 | * | athenot quit (Ping timeout: 255 seconds) |
19:05:52 | * | athenot joined #nim |
19:20:44 | * | miran quit (Quit: Konversation terminated!) |
19:27:19 | GitDisc | <treeform> Why did nimrod dropped the rod in the name? What was the reason for it? Just curious? |
19:28:27 | FromGitter | <barcharcraz> Your not from the US are you |
19:28:42 | FromGitter | <barcharcraz> It’s a synonym for “idiot” in the US |
19:28:52 | FromGitter | <barcharcraz> because of bugs bunny |
19:29:04 | dom96 | https://news.ycombinator.com/item?id=8351773 |
19:30:46 | * | BitPuffin quit (Remote host closed the connection) |
19:31:13 | dom96 | Ahh, it's nice to go through Nimble issues as most of them have been fixed and just need closing :) |
19:45:04 | * | miran joined #nim |
19:55:45 | * | Pisuke quit (Read error: Connection reset by peer) |
19:56:50 | * | Pisuke joined #nim |
19:57:47 | * | rokups quit (Quit: Connection closed for inactivity) |
20:01:18 | * | Gnjurac joined #nim |
20:01:47 | Gnjurac | hi does nim work on rpi3 cuz its ARM and do all libs work too , i want to use sqlite |
20:05:18 | dom96 | yes |
20:05:35 | dom96 | works perfectly |
20:14:15 | FromGitter | <krux02> bl4rk: I am not familiar with .net, but when dotnet can expose a C api, nim can bind to that C api. |
20:15:25 | FromGitter | <krux02> the problem with dotnet is, it is like java, a virtual machine. So I think you would also need to manage the VM instance. |
20:18:17 | Gnjurac | ty |
20:18:37 | * | JacobEdelman joined #nim |
20:18:57 | Gnjurac | i personaly am learning Nim to in future abandone C# |
20:19:18 | Gnjurac | and cuz i like to learn new stuff |
20:19:37 | FromGitter | <krux02> not sure if you can abandon anything when you learn Nim. |
20:20:19 | FromGitter | <krux02> I recommend when you learn Nim, to also know how to program in C, or at least to understand C code. |
20:21:24 | FromGitter | <zetashift> I reaaaaaaaaaaaaaalllllllllllllyyy want to avoid learning C |
20:21:38 | FromGitter | <zetashift> I had fun with learning Rust though if that counts for anything |
20:21:41 | FromGitter | <krux02> Simply because nim compiles to C. There are more C and C++ experts than there are Nim experts. When there is a library you want to bind to, it probably has C bindings. |
20:22:29 | FromGitter | <krux02> it is not a necessety to know C when you isolate yourself to do only Nim. But here and there the Nim fluffyness breaks and then it is really helpful to know C. |
20:22:39 | FromGitter | <krux02> Btw C is a much smaller language than Nim. |
20:24:02 | FromGitter | <krux02> well if you have fun learnig Rust it at least means you had fun learning a programming language, and in my opinion that is good. |
20:24:15 | miran | krux02: at which level should a nim devel know C? just the basics? more advanced stuff? |
20:24:55 | FromGitter | <krux02> miran: well it depends on how much you need C in your Nim programming excourse. |
20:25:32 | FromGitter | <krux02> but I think basics is fine |
20:25:42 | FromGitter | <krux02> know structs and pointers and pointer arithmetic |
20:26:12 | miran | any C source you would recommend for learning? |
20:26:15 | FromGitter | <krux02> and then you will see that most C features are perfectly mapped to nim features |
20:26:23 | FromGitter | <krux02> no not really. |
20:26:51 | FromGitter | <krux02> It is too long ago that I learned C, so I can't provide learning material. |
20:26:58 | dom96 | I disagree, you don't need to learn C to use Nim |
20:27:30 | FromGitter | <krux02> dom96: you might disagree. But I needed my C knowledge a lot to use Nim. |
20:27:50 | dom96 | It helps, but let's not scare beginners away by making them think that they need it :) |
20:28:12 | dom96 | If you're not going to be wrapping things then it's not really needed. |
20:28:42 | FromGitter | <krux02> well we can settle that at some point it is really helpful to know C and one should learn at least some basics. |
20:29:02 | FromGitter | <krux02> it's not like using emacs without knowing emacs-lisp :P |
20:29:33 | FromGitter | <krux02> But I wouldn't say you need to be an expert. |
20:44:44 | * | SenasOzys quit (Ping timeout: 260 seconds) |
20:47:40 | FromGitter | <zetashift> I use spacemacs from time to time without knowing emacs-lisp too |
20:47:56 | FromGitter | <zetashift> that being said using that made lisp a lot less scary then I thought it would be |
20:48:45 | FromGitter | <zetashift> also I'd find fully Nim libs more pleasant than C ports as long they are not too much reinvent-the-wheel-y |
20:49:33 | FromGitter | <zetashift> @miran the 'The C Programming Language' is afaik one of the most recommended books out there for C |
20:49:45 | miran | K&R book? |
20:49:50 | FromGitter | <zetashift> yeah |
20:50:12 | miran | just started reading it few days ago.... |
20:50:30 | FromGitter | <zetashift> I actually study medicine so I don't have a lot of free time to learn programming so I learn bit by bit |
20:51:20 | FromGitter | <krux02> @zetashift I think spacemacs is better to use without knowing emacs-lisp than raw emacs. Raw emacs is just a punch in your face and you have to punch back with emacs-lisp knowledge to make it a usable editor. |
20:51:57 | FromGitter | <zetashift> yeah I had a phase where I just was configuring vim instead of actually programming |
20:52:48 | FromGitter | <krux02> I hate it when I need to configure my editor. |
20:53:49 | FromGitter | <krux02> not only do I need to fix it, but also do I think that this is configured wrong for everybody else who is using that editor and I am just creating a solution here in my little island of my computer and it will help nobody out there. It really makes me a bit depressive from time to time. |
20:54:37 | * | Snircle joined #nim |
20:55:06 | FromGitter | <zetashift> Sounds like you just really want things your way, which isn't a bad thing in cases |
20:55:48 | FromGitter | <krux02> well sometimes there are only two ways to do it. My way and the wrong way :P |
20:56:54 | FromGitter | <krux02> and yea I want things my way. For example currently I work so that I can write arbitrary shaders in Nim. |
20:57:30 | FromGitter | <zetashift> arbitrary shaders? Something for GLSL? |
20:57:33 | FromGitter | <krux02> yes |
20:57:50 | FromGitter | <zetashift> sounds like a boon for everyone working with shaders and nim |
20:58:05 | FromGitter | <krux02> yea not yet. |
20:58:23 | FromGitter | <krux02> But my goal is a but further. |
20:58:46 | FromGitter | <zetashift> aim high :D |
20:59:23 | FromGitter | <krux02> My goal is for anyone who want to write shader in general, even in a bigger c++ project. They would rather write the shader part in Nim and then interface the rest of the project with Nim, than to have the hassle of binding glsl and c++ |
21:00:08 | FromGitter | <krux02> that is one reason why I want GC to be gone from seq and string types |
21:01:11 | FromGitter | <krux02> I definitively want to attract generally people who want to write shaders. And they should see that in Nim it simply works best. |
21:03:27 | * | Gnjurac quit (Quit: Leaving) |
21:05:14 | PMunch | krux02, learning C is a good idea in general to understand how computers work |
21:05:24 | PMunch | Helps with most languages |
21:05:51 | FromGitter | <krux02> PMunch: I agree |
21:06:11 | GitDisc | <Nufflee> helooo everyone |
21:06:48 | FromGitter | <krux02> well C does not tell you how computers work, but most features are very low level and mapps directly to computer instructions |
21:07:00 | FromGitter | <krux02> Nufflee: oooleh! |
21:08:12 | GitDisc | <Nufflee> woah, can you see my discord messages on gitter? |
21:08:17 | FromGitter | <krux02> PMunch: but C macros don't really help to understand how computers work. |
21:08:26 | FromGitter | <krux02> yes I can |
21:08:30 | FromGitter | <krux02> I am on gitter |
21:08:37 | GitDisc | <Nufflee> thats cool hha |
21:08:45 | PMunch | It maps over to IRC as well :) |
21:09:04 | FromGitter | <krux02> but what is gitdisc? |
21:09:09 | FromGitter | <krux02> I have to find out |
21:09:42 | FromGitter | <Nufflee> aaand now im on gitter |
21:09:59 | * | Trustable quit (Remote host closed the connection) |
21:10:11 | FromGitter | <krux02> you are welcome |
21:10:20 | FromGitter | <krux02> now you can see my funny face :P |
21:10:56 | FromGitter | <Nufflee> yes i can hah |
21:11:08 | PMunch | krux02, C macros don't help with understanding anything :P |
21:11:39 | PMunch | Nufflee, only one platform to go and you have full coverage! |
21:11:52 | PMunch | Or do we have any more bots here? |
21:12:38 | * | SenasOzys joined #nim |
21:15:48 | FromGitter | <zetashift> Slack next? |
21:16:07 | bl4rk | I was asking about dotnet because I am doing some research into running Powershell using C#, using Runspace https://msdn.microsoft.com/en-us/library/ee706556(v=vs.85).aspx |
21:16:21 | FromGitter | <zetashift> @krux02 aren't the GCless types quite far away? |
21:16:31 | bl4rk | I don't think that you can access this from C though |
21:17:57 | * | miran quit (Quit: Konversation terminated!) |
21:18:41 | FromGitter | <krux02> @zetashift I have no idea what GCless is |
21:19:05 | FromGitter | <zetashift> that the seq and string types aren't cleaned up by the GC |
21:19:35 | bl4rk | but this stuff is in System.Management.Automation.dll I should be able to use that from Nim right? |
21:19:40 | FromGitter | <zetashift> bl4k you could get freaky with: https://github.com/jboy/nim-pymod and http://ironpython.net/ |
21:19:49 | FromGitter | <zetashift> but that's just me being stupid ;P |
21:21:23 | * | Quantem joined #nim |
21:24:59 | FromGitter | <mratsim> @bl4rk ifthere is no C++ or C interface you can’t interface it with Nim unfortunately |
21:33:39 | FromGitter | <krux02> @zetashift: In Nim string and seq have value semantc, like std::string and std::vector in c++. C++ doesn't need a GC to implement std::string and std::vector, so Nim would not need a GC to implement string and seq. |
21:34:18 | FromGitter | <krux02> @mratsim you can alwas write a C interface wrapper |
21:35:16 | FromGitter | <krux02> it would probably A C interface for the C# API, then a Nim binding for this C interface, and then a Nim wrapper for the bindings to make the library usable |
21:35:44 | FromGitter | <krux02> lot's of layes of inderection. Lots of work. lots of things that might go wrong |
21:35:47 | FromGitter | <krux02> but possible |
21:36:25 | FromGitter | <Nufflee> what does "Nothing to build. Did you specify a module to build using the `bin` key in your .nimble file?" mean? |
21:36:52 | FromGitter | <krux02> @Nufflee depends on the context |
21:37:07 | FromGitter | <krux02> maybe you are missing a bin key in your .nimble file? |
21:37:23 | FromGitter | <Nufflee> and what do i make it point to? my main nim file? |
21:37:32 | FromGitter | <krux02> yes |
21:38:13 | bl4rk | hmm it looks like you can use it from c++ after all |
21:38:15 | bl4rk | https://stackoverflow.com/questions/19634220/c-and-powershell |
21:38:41 | FromGitter | <Nufflee> now my build fails with this Error: Could not read package info file in F:\PROJECTS\Nim\Geam\Geam.nimble; ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a8de6e08f1c77ef3a3a7228] |
21:38:55 | FromGitter | <Nufflee> on the line that says `bin = "Geam.nim"` |
21:39:31 | FromGitter | <krux02> well it says it want's a seq[string] so give it a seq[string] |
21:39:40 | FromGitter | <krux02> bin = @["Geam.nim"] |
21:39:44 | FromGitter | <Nufflee> ah |
21:39:46 | FromGitter | <Nufflee> thanks |
21:40:45 | FromGitter | <krux02> ok I am offline, bye people |
21:44:35 | * | Quantem quit (Quit: Page closed) |
21:44:46 | * | Quantem joined #nim |
21:47:47 | * | PMunch quit (Quit: leaving) |
21:51:52 | * | solitudesf quit (Quit: solitudesf) |
21:52:09 | * | nsf quit (Quit: WeeChat 2.0.1) |
21:55:14 | * | SenasOzys quit (Remote host closed the connection) |
21:55:42 | * | SenasOzys joined #nim |
22:14:50 | * | Quantem quit (Quit: Going offline, see ya! (www.adiirc.com)) |
22:19:10 | * | MJCaley joined #nim |
22:53:21 | * | kunev quit (Ping timeout: 248 seconds) |
23:03:04 | * | vlad1777d joined #nim |
23:19:46 | * | Quantem joined #nim |
23:42:08 | * | somedude joined #nim |
23:46:35 | * | somedude quit (Ping timeout: 260 seconds) |
23:54:53 | * | endragor joined #nim |
23:58:52 | * | MJCaley quit (Ping timeout: 256 seconds) |
23:59:33 | * | endragor quit (Ping timeout: 256 seconds) |