00:04:09 | * | zolk3ri quit (Quit: leaving) |
00:23:00 | * | couven92 joined #nim |
00:23:22 | * | JappleAck quit (Quit: Leaving) |
00:47:27 | * | def-pri-pub joined #nim |
00:56:10 | * | gggs left #nim (#nim) |
00:58:38 | * | nsf quit (Quit: WeeChat 1.9.1) |
00:58:39 | * | arnetheduck joined #nim |
01:16:04 | * | vlad1777d quit (Remote host closed the connection) |
01:17:42 | * | vlad1777d joined #nim |
01:28:20 | * | def-pri-pub quit (Quit: Leaving.) |
01:45:08 | * | def-pri-pub joined #nim |
01:49:35 | * | couven92 quit (Read error: Connection reset by peer) |
01:54:06 | FromGitter | <brentp> I am having some trouble writing a nim wrapper for a c++ project. I've done this with c code previously, but am stuck with this error |
01:54:14 | FromGitter | <Varriount> Araq: I thought that absolute imports were frowned upon? |
01:54:29 | FromGitter | <brentp> CC: edlib ⏎ CC: edlib ⏎ CC: ed ⏎ CC: stdlib_system ⏎ Error: execution of an external compiler program 'g++ -c -w -w -fpermissive -I/home/brentp/src/Nim/lib -o /home/brentp/src/edlib/tt/nimcache/ed.o /home/brentp/src/edlib/tt/nimcache/ed.cpp' failed with exit code: 1 ... [https://gitter.im/nim-lang/Nim?at=59fe6f54b20c6424298b9015] |
01:54:45 | FromGitter | <brentp> with the code here: https://gist.github.com/brentp/e9578c189accfcf71fe13436471d0b93 |
01:54:54 | FromGitter | <brentp> any ideas? |
01:56:57 | FromGitter | <Varriount> @brentp It would be easier if you put the error in a gist too. :/ |
01:57:19 | FromGitter | <Varriount> Are you using some sort of C library or header? |
01:58:10 | FromGitter | <brentp> https://gist.github.com/brentp/e9578c189accfcf71fe13436471d0b93#file-error |
01:58:44 | FromGitter | <brentp> @Varriount yes. |
02:01:36 | FromGitter | <Varriount> @brentp It looks like a problem with the C/C++ wrapper. |
02:04:06 | FromGitter | <data-man> @brentp: https://github.com/Martinsos/edlib ? ⏎ Reimplement to Nim :) |
02:04:45 | FromGitter | <brentp> pffft. no way! |
02:05:15 | FromGitter | <Varriount> @brentp "request for member ‘edlibAlign’ in ‘query->NimStringDesc::data’" |
02:05:19 | FromGitter | <brentp> I can build the c++ code fine, just can't do it via nim |
02:05:41 | FromGitter | <Varriount> Looks like your code is treating a string as something else. |
02:08:11 | FromGitter | <Varriount> @brentp Could you turn --lineDir:on and see what line the generated C corresponds to? |
02:13:03 | FromGitter | <brentp> @Varriount , it corresponds to `(*a).c = query->data.edlibAlign(((int)chckRange((query ? query->len : 0), ((int) (-2147483647 -1)), ((int) 2147483647))), target->data .. ` |
02:13:44 | FromGitter | <Varriount> Yeah, but which line is that in the Nim code? |
02:14:29 | FromGitter | <Varriount> --lineDir:on should print a line directive above each line in C that shows which line in the Nim source code the C code represent. |
02:14:57 | * | chemist69 quit (Ping timeout: 258 seconds) |
02:15:39 | FromGitter | <brentp> oh, it's the line in nim where it calls `edlibAlign` |
02:16:45 | FromGitter | <brentp> query is a string. so it's convertying edlibAlign(query.cstring ...) into query.cstring.edlibAlign( ... and hence the error. it seems not to be able to find any of the C definitions. |
02:19:55 | * | vivus quit (Quit: Leaving) |
02:20:10 | FromGitter | <Varriount> Are you linking with the object file? |
02:21:19 | FromGitter | <Varriount> I mean, according to the manual, `{.compile.}` should compile *and* link the file, but I'm not so sure. |
02:22:28 | * | ipjk quit (Read error: Connection reset by peer) |
02:24:16 | FromGitter | <brentp> not sure what I changed, but now it's working... |
02:25:02 | FromGitter | <Varriount> Hm |
02:25:14 | FromGitter | <Varriount> You could try clearing the nimcache folder? |
02:25:23 | FromGitter | <Varriount> And see if that causes the problem to appear again. |
02:27:56 | FromGitter | <brentp> checked. it doesn't. and I rm'ing that. I must have had soemthing weird in the cpp or .h files as I re-imported them fresh from the source and I think that's what changed it. sorry for the noise |
02:28:31 | * | chemist69 joined #nim |
02:29:57 | * | marenz_ quit (Ping timeout: 240 seconds) |
02:30:03 | FromGitter | <Varriount> @brentp Huh. By the way, what is edlib, and what are you using it for? |
02:30:38 | FromGitter | <brentp> it does pairwise alignment of DNA sequences... very fast. |
02:31:03 | FromGitter | <brentp> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5408825/ |
02:31:59 | FromGitter | <brentp> I'm going to use it to re-align alignments to an assembled version of the genome that's from a particular individual. |
02:37:55 | * | Serenit0r joined #nim |
02:41:05 | * | Serenitor quit (Ping timeout: 240 seconds) |
02:42:50 | FromGitter | <Varriount> @brentp Neat! If you need any help don't be afraid to ask. |
02:45:43 | * | def-pri-pub quit (Quit: Leaving.) |
02:46:10 | FromGitter | <brentp> will do. thanks! |
02:47:03 | FromGitter | <Varriount> @dom96 Any way to prevent the HTTP client module from attaching a 'host' header to the output? |
02:53:40 | * | kier quit (Ping timeout: 258 seconds) |
02:57:58 | * | kier joined #nim |
03:10:54 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
03:32:41 | * | Serenit0r quit (Quit: Leaving) |
03:46:05 | * | dddddd quit (Quit: Hasta otra..) |
03:50:55 | * | enthus1ast- quit (Ping timeout: 248 seconds) |
03:53:41 | * | vlad1777d quit (Ping timeout: 240 seconds) |
04:42:52 | * | enthus1ast- joined #nim |
04:50:19 | * | SenasOzys joined #nim |
05:06:05 | * | def-pri-pub joined #nim |
05:14:14 | FromGitter | <Varriount> @dom96 Also, have there been any performance comparisons for Nim's async framework between something like Python's async framework? |
05:29:44 | * | tefter joined #nim |
05:37:48 | * | SenasOzys quit (Remote host closed the connection) |
05:51:27 | * | cspar_ quit (Ping timeout: 240 seconds) |
05:55:33 | * | SenasOzys joined #nim |
06:10:27 | * | tefter quit (Ping timeout: 240 seconds) |
06:11:10 | * | lastjedi joined #nim |
06:13:55 | * | deathstar joined #nim |
06:16:31 | * | lastjedi quit (Ping timeout: 248 seconds) |
06:23:02 | * | deathstar quit (Ping timeout: 260 seconds) |
06:23:40 | * | tefter joined #nim |
06:38:23 | * | cspar joined #nim |
06:42:07 | * | def-pri-pub left #nim (#nim) |
06:49:06 | * | tefter quit (Quit: Leaving) |
06:51:06 | * | miran joined #nim |
06:54:16 | * | miran quit (Client Quit) |
06:54:35 | * | miran joined #nim |
06:55:11 | * | miran quit (Client Quit) |
06:56:07 | * | vlad1777d joined #nim |
07:14:09 | * | miran joined #nim |
07:20:18 | * | miran_ joined #nim |
07:21:01 | * | miran quit (Quit: Konversation terminated!) |
07:22:40 | * | miran_ quit (Client Quit) |
07:23:01 | * | miran joined #nim |
07:26:29 | * | miran quit (Client Quit) |
07:26:45 | * | miran joined #nim |
07:29:58 | * | miran_ joined #nim |
07:30:26 | * | miran quit (Client Quit) |
07:30:26 | * | miran_ quit (Client Quit) |
07:30:46 | * | miran joined #nim |
07:42:31 | * | rauss quit (Read error: Connection reset by peer) |
07:43:33 | * | rauss joined #nim |
07:54:22 | * | Arrrr joined #nim |
07:54:22 | * | Arrrr quit (Changing host) |
07:54:22 | * | Arrrr joined #nim |
08:13:05 | Arrrr | Noice https://github.com/nim-lang/Nim/commit/742f43e57211c22fe1faa0c7ef991b9b0a1eadc9 |
08:33:58 | * | nsf joined #nim |
08:46:34 | * | claudiuinberlin joined #nim |
09:26:49 | * | Arrrr1 joined #nim |
09:26:49 | * | Arrrr quit (Disconnected by services) |
09:31:56 | Gertm | Do I need libpcre2-dev or libpcre3-dev? (Debian) |
09:37:12 | * | Arrrr1 quit (Quit: Leaving.) |
09:49:50 | FromGitter | <data-man> @Gertm: No. Nim supports the PCRE library only. |
09:54:34 | * | yglukhov joined #nim |
09:55:27 | * | SenasOzys quit (Ping timeout: 240 seconds) |
10:07:23 | shashlick | Yay finally got choosenim to install nim on my VM which is behind a proxy! Had to fix httpclient to work thru the proxy for https connections |
10:08:59 | * | yglukhov quit (Remote host closed the connection) |
10:09:34 | * | SenasOzys joined #nim |
10:09:34 | * | yglukhov joined #nim |
10:10:58 | * | xkapastel quit (Quit: Connection closed for inactivity) |
10:11:09 | * | yglukhov quit (Remote host closed the connection) |
10:11:22 | * | yglukhov joined #nim |
10:26:03 | Gertm | @data-man: So which library do I need to install then? |
10:29:07 | FromGitter | <data-man> @Gertm: I will assume that libpcre-dev. I'm using ArchLinux, sorry. |
10:30:14 | Gertm | @data-man: Yeah that one doesn't exist. |
10:34:11 | * | lastjedi joined #nim |
10:40:33 | dom96 | Gertm: Try the first one, then the second one? |
10:40:56 | Gertm | I just installed both of them. |
10:41:15 | Gertm | The pcre2 one is the 'new' pcre lib and the 3 is the 'old' one. Very logical. |
10:41:26 | Gertm | They can sit side by side it seems. |
10:43:54 | * | Gertm_ joined #nim |
10:45:53 | * | Gertm quit (Ping timeout: 248 seconds) |
10:45:53 | * | Gertm_ is now known as Gertm |
10:50:34 | dom96 | Varriount: Don't think so. What's the use case for that? |
10:51:13 | dom96 | shashlick: so where is your PR? All I see is an issue |
10:51:44 | FromGitter | <Yardanico> dom96: https://github.com/nim-lang/Nim/pull/6694 probably? |
10:52:32 | dom96 | ahh |
10:53:04 | * | yglukhov quit (Remote host closed the connection) |
10:53:40 | * | yglukhov joined #nim |
10:58:12 | * | yglukhov quit (Ping timeout: 258 seconds) |
11:01:21 | * | lastjedi quit (Ping timeout: 240 seconds) |
11:01:49 | * | zolk3ri joined #nim |
11:03:02 | FromGitter | <mratsim> Got my Nim in Action physical copy :) (it’s Black & White though :/) |
11:04:25 | dom96 | Most technical books are black and white :) |
11:04:34 | zolk3ri | racist |
11:06:05 | FromGitter | <Yardanico> lmao |
11:09:49 | * | lastjedi joined #nim |
11:09:50 | FromGitter | <Yardanico> dom96: https://github.com/nim-lang/Nim/pull/6694 tests failing aren't related to this PR |
11:09:55 | FromGitter | <Yardanico> check commits in devel |
11:09:59 | FromGitter | <Yardanico> CI are failing on them too |
11:11:01 | dom96 | yes, but there is an extra test that is failing in that PR |
11:11:13 | FromGitter | <Yardanico> ah yes |
11:11:14 | FromGitter | <Yardanico> sorry :) |
11:11:40 | dom96 | Araq: Why are tests broken? |
11:13:29 | FromGitter | <Yardanico> some lexer test is broken |
11:13:35 | FromGitter | <Yardanico> well it's devel |
11:13:41 | FromGitter | <Yardanico> it's expected that sometimes tests can be failing :) |
11:14:23 | dom96 | yeah, but not for 5 days |
11:15:04 | FromGitter | <Yardanico> well it was travis only issue previously |
11:15:17 | dom96 | Hrm, we haven't had a livestream in a while |
11:15:19 | FromGitter | <Yardanico> and it was failing on linux only (macos was fine) |
11:15:39 | dom96 | Stop making excuses :P |
11:16:32 | FromGitter | <Yardanico> maybe araq is tired :P |
11:19:02 | * | lastjedi quit (Ping timeout: 252 seconds) |
11:44:02 | * | dddddd joined #nim |
11:50:32 | Araq | the tests that keep failing are http related |
11:50:39 | Araq | I will disable them for travis |
11:51:05 | * | miran quit (Ping timeout: 240 seconds) |
11:54:04 | FromGitter | <mratsim> @Araq for user-defined pragma to be stored in a specific file and used in procs other files, I need to defined them either as macro or use “include” due to their specific scope rules right? |
11:54:21 | Araq | right |
11:56:39 | * | kalkin- joined #nim |
11:56:51 | kalkin- | hi |
11:58:30 | * | marenz_ joined #nim |
12:02:14 | * | PMunch joined #nim |
12:02:26 | * | Snircle joined #nim |
12:10:01 | * | yglukhov joined #nim |
12:10:02 | * | yglukhov quit (Remote host closed the connection) |
12:10:36 | * | yglukhov joined #nim |
12:11:41 | * | lastjedi joined #nim |
12:13:46 | * | yglukhov quit (Remote host closed the connection) |
12:14:01 | * | yglukhov joined #nim |
12:17:57 | yglukhov | Araq: import $package / font crashes: https://gist.github.com/yglukhov/b00324496e3edfdef9a8a45d389a8d24 |
12:21:56 | yglukhov | Araq: ping me if you need more info |
12:28:07 | * | lastjedi quit (Remote host closed the connection) |
12:44:33 | * | vlad1777d quit (Read error: Connection reset by peer) |
12:55:34 | * | yglukhov quit (Remote host closed the connection) |
13:02:15 | * | Vladar joined #nim |
13:03:38 | * | Arrrr joined #nim |
13:03:38 | * | Arrrr quit (Changing host) |
13:03:38 | * | Arrrr joined #nim |
13:04:43 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
13:22:43 | FromGitter | <alehander42> what kind of exceptions |
13:22:59 | FromGitter | <alehander42> should I raise in macro-s? any idiomatic ones? |
13:34:50 | * | elrood joined #nim |
13:37:44 | dom96 | I think you're meant to use this: https://nim-lang.org/docs/macros.html#error,string,NimNode |
13:40:09 | FromGitter | <alehander42> excellent, I knew there was something like that |
13:40:23 | FromGitter | <alehander42> writing macro libs is so fun |
13:49:39 | * | nsf quit (Quit: WeeChat 1.9.1) |
14:21:21 | * | SenasOzys quit (Remote host closed the connection) |
14:21:33 | * | SenasOzys joined #nim |
14:34:32 | * | vlad1777d joined #nim |
14:39:17 | * | miran joined #nim |
14:46:34 | * | kingelvis joined #nim |
14:50:55 | * | kingelvis quit (Ping timeout: 260 seconds) |
15:00:22 | FromGitter | <alehander42> is the approach I used in https://github.com/alehander42/zero-functional used in some other libs/situations? does somebody think this approach/functionality can be promising for real code? |
15:03:58 | * | SenasOzys_ joined #nim |
15:05:02 | GitDisc | <awr> suppose i have a distinct-ified a generic type, e.g. type Foo = distinct Bar[int] |
15:05:23 | dom96 | alehander42: ooh, thats a great approach. |
15:05:29 | GitDisc | <awr> if i have a variable x of type Foo, how do i convert it back to Bar[int] |
15:05:52 | dom96 | awr: (Bar[int])(foo) perhaps |
15:05:53 | GitDisc | <awr> do i have to define a new non-distinct type alias to Bar[int] |
15:06:02 | GitDisc | <awr> k lemme try |
15:06:35 | * | miran quit (Quit: Leaving) |
15:06:48 | GitDisc | <awr> yay it works |
15:06:49 | GitDisc | <awr> thank you |
15:06:53 | dom96 | np :) |
15:07:54 | FromGitter | <mratsim> oh nice alehander42 I love that, have to steal that for Arraymancer “mapReduce" |
15:08:51 | GitDisc | <awr> also does the method call syntax support listing generic params anywhere or is listing generic params only for normal call syntax |
15:11:04 | FromGitter | <alehander42> @mratsim haha, I actually thought the stuff you're doing with Arraymancer a bit as an inspiration |
15:11:58 | GitDisc | <awr> if you have proc someproc[T](a: int): int |
15:12:18 | GitDisc | <awr> you can't call foo.someproc[T]() |
15:12:45 | FromGitter | <alehander42> it's still very alpha and I am not sure if the dsl is good enough (I can do something like `chainable(a).map(..).any(..)` but I prefer the `-->` as it "brings" you in the inline-expanding mode) |
15:12:58 | FromGitter | <alehander42> but I'll try to stabilize it when I have time next week |
15:13:05 | GitDisc | <awr> is the only way of doing that someproc[T](foo) |
15:15:57 | FromGitter | <mratsim> For Arraymancer I would implement it like this: ⏎ ⏎ ```loopFusion: ⏎ zip(t1, t2).map(f).fold(init, g) # without temporaries.``` [https://gitter.im/nim-lang/Nim?at=59ff2b2de44c43700abd9c53] |
15:17:38 | Araq | awr: yes |
15:18:03 | Araq | there are plans to introduce someproc(:T)(foo) but nothing is scheduled for v1 |
15:19:07 | Araq | foo.someproc(:T)() could easily be supported then as it doesn't clash with array indexing |
15:20:52 | Araq | a.b[i] means (a.b)[i] not a.(b[i]) |
15:25:08 | FromGitter | <Varriount> @alehander42 That library looks really neat! |
15:25:11 | Arrrr | the new if-else modification reminded me of the `for a in b: let a = a` scope issue, i think it should change |
15:26:00 | Araq | why? |
15:26:52 | Arrrr | Same reason you can do that in procs |
15:26:59 | GitDisc | <awr> would the (:T) syntax be exclusive to the method syntax? |
15:28:25 | GitDisc | <awr> or would it be expanded to normal calls, such as someproc(:T)(foo) |
15:28:36 | Araq | Arrrr: do you mean closures? |
15:30:14 | Arrrr | Right now you can't do `for i in 1 .. 2: let i = i + 1` |
15:30:35 | Arrrr | but you can do `proc test(i: int) = let i = i + 1` |
15:31:19 | Arrrr | !eval for i in 1 .. 2: let i = i + 1 |
15:31:20 | NimBot | Compile failed: in.nim(1, 18) Error: expression expected, but found 'keyword let' |
15:31:32 | Arrrr | well, not that error |
15:31:51 | Arrrr | !eval for i in 1 .. 2: (let i = i + 1;) |
15:31:52 | NimBot | Compile failed: in.nim(1, 23) Error: redefinition of 'i' |
15:34:30 | Araq | Arrrr: I agree, thank you. |
15:34:44 | Araq | should |
15:34:48 | Araq | var i = 4 |
15:34:48 | Araq | for i in 0..4: … |
15:34:52 | Araq | still be valid? |
15:35:37 | Araq | well yeah cause otherwise you could access 'i' after the loop |
15:59:06 | FromGitter | <alehander42> @mratsim yep that's a nice solution too |
16:00:18 | FromGitter | <alehander42> @Varriount thanks |
16:01:01 | * | arnetheduck quit (Ping timeout: 240 seconds) |
16:01:02 | * | nsf joined #nim |
16:01:39 | FromGitter | <Varriount> Although, I'm left wondering why map, split, etc aren't iterators in the standard library |
16:05:53 | FromGitter | <alehander42> Btw my first idea to define iterator versions of them too |
16:06:15 | FromGitter | <mratsim> inline iterator chaining is broken unfortunately |
16:06:28 | FromGitter | <alehander42> But I wondered if even I can generate even simpler code with macros |
16:10:26 | * | SenasOzys_ quit (Remote host closed the connection) |
16:10:51 | * | SenasOzys quit (Remote host closed the connection) |
16:13:04 | * | SenasOzys joined #nim |
16:13:04 | * | SenasOzys_ joined #nim |
17:00:48 | * | SenasOzys quit (Ping timeout: 240 seconds) |
17:01:08 | * | SenasOzys_ quit (Ping timeout: 240 seconds) |
17:07:43 | * | miran joined #nim |
17:09:37 | FromGitter | <Yardanico> Araq: I hope that new changes/ features all will be added to manual before new release ? :) |
17:10:29 | Arrrr | From the TV (a film) i heard someone asking a computer to indentify a thief "using ascii code". I wonder how that works and what film is that |
17:11:51 | * | SenasOzys joined #nim |
17:11:55 | * | SenasOzys_ joined #nim |
17:18:36 | * | miran quit (Quit: Konversation terminated!) |
17:21:06 | * | miran joined #nim |
17:23:45 | * | yglukhov joined #nim |
17:31:22 | * | Sentreen quit (Ping timeout: 252 seconds) |
17:33:20 | FromGitter | <data-man> @Arrrr: You don't know what movie you heard? ⏎ But it's probably about steganography. ⏎ Try to search "hide the data inside the image". |
17:35:50 | * | miran quit (Quit: Konversation terminated!) |
17:36:04 | Arrrr | Hehe, i don't think it was that clever |
17:37:40 | * | miran joined #nim |
17:38:40 | * | Sentreen joined #nim |
17:39:56 | * | yglukhov quit (Remote host closed the connection) |
17:40:25 | FromGitter | <data-man> What a thief stole? |
17:41:16 | Arrrr | Don't know, i wasn't paying attention |
17:51:15 | Arrrr | Ah, is a miniseries called "The Andromeda Strain", seems to make sense given the context of the show. |
17:55:06 | FromGitter | <data-man> Filmed on the novel by Michael Crichton? |
17:55:25 | Arrrr | That seems to be the case |
17:58:33 | Arrrr | The `<` alias for pred was very useful. Now i have to rename a thousand things |
18:17:12 | shashlick | dom96, yardanico - how do I figure out where this test is defined? |
18:17:15 | shashlick | Test "lib/pure\httpclient.nim" in category "lib" |
18:17:15 | shashlick | Failure: reNimcCrash |
18:17:16 | shashlick | Expected: |
18:20:03 | * | nsf quit (Quit: WeeChat 1.9.1) |
18:20:08 | FromGitter | <data-man> I have a legal question. :) ⏎ Can a C/C++ code, licensed under the Apache license and ported to the Nim, released under the MIT license? ⏎ And licensed under the BSD 3-Clause license? |
18:22:15 | shashlick | Looks like it is tests\testament, will have to figure out what it is doing |
18:22:45 | shashlick | httpclient builds fine when I use it, but not sure what testament is doing to check code |
18:36:58 | * | rauss quit (Read error: Connection reset by peer) |
18:39:35 | * | rauss joined #nim |
18:39:37 | shashlick | I think it is because I don't have the new SSL code inside a when defined(ssl) block |
18:41:25 | elrood | data-man: probably depends on the quality of the port. if it's a one-to-one- or even machine-generated transcription, the original license would most likely still apply |
18:47:23 | elrood | if the port incorporates some level of ingenuity and requires rewriting a non-trivial amount of code, it can be licensed independently. if you need a definitive answer, consult a lawyer, of course |
18:48:08 | FromGitter | <data-man> @elrood: Big thanks! |
18:49:44 | elrood | oh no, don't rely on this, take it as nothing more than a somewhat informed opinion, please. no legal advice here ;) no probs |
18:56:14 | * | kobi7 joined #nim |
18:56:17 | * | miran quit (Quit: Konversation terminated!) |
18:59:26 | FromGitter | <data-man> Then I have a request to the whole Nimmunity©®™: to consult with your company's lawyers about this issue. |
19:02:49 | FromGitter | <Varriount> @data-man is this about that ascii algorithm? |
19:04:39 | FromGitter | <matrixbot> `federico3` Dmitry Atamanov (Gitter): can you show the original and the port? |
19:05:03 | FromGitter | <Varriount> Because as long as you reimplement the algorithm without using another licensed source, it is likely ok. |
19:10:44 | * | kobi7 quit (Quit: Leaving) |
19:13:07 | * | yglukhov joined #nim |
19:14:55 | FromGitter | <data-man> @federico3: Not yet. I compare several libraries by speed, and then I will choose the best one. ⏎ @Varriount: No, not about a ascii algorithm. :) |
19:17:48 | * | ipjk joined #nim |
19:20:54 | FromGitter | <mratsim> ASCII is awesome: http://caca.zoy.org/wiki/libcaca - http://caca.zoy.org/static/images/stitch-80x45.png |
19:22:35 | * | marenz_ quit (Ping timeout: 255 seconds) |
19:22:43 | FromGitter | <Yardanico> well it's mostly colors |
19:22:48 | FromGitter | <Yardanico> and not ascii itself :) |
19:26:31 | * | nsf joined #nim |
19:50:07 | * | vivus joined #nim |
20:00:22 | * | shortCircuit__ joined #nim |
20:00:39 | * | CcxWrk_ joined #nim |
20:01:46 | * | Eyess joined #nim |
20:02:45 | * | SunDwarf quit (Disconnected by services) |
20:02:55 | * | Eyess is now known as SunDwarf |
20:04:26 | * | qwertfisch_ joined #nim |
20:07:00 | * | qwertfisch quit (Disconnected by services) |
20:07:01 | * | qwertfisch_ is now known as qwertfisch |
20:11:42 | * | xet7 quit (*.net *.split) |
20:11:42 | * | CcxWrk quit (*.net *.split) |
20:11:43 | * | Demos[m] quit (*.net *.split) |
20:11:44 | * | euantor quit (*.net *.split) |
20:11:44 | * | zielmicha_ quit (*.net *.split) |
20:11:45 | * | alexday quit (*.net *.split) |
20:14:52 | * | Amrykid quit (Ping timeout: 260 seconds) |
20:17:05 | * | Amrykid joined #nim |
20:29:58 | Araq | yardanico: I think I kept the manual mostly up to date? |
20:32:01 | * | Vladar quit (Quit: Leaving) |
20:35:05 | * | SenasOzys_ quit (Ping timeout: 240 seconds) |
20:35:13 | * | SenasOzys quit (Ping timeout: 248 seconds) |
20:43:36 | Araq | so ... my todo says "make FlowVar compatible to Futures" but I don't have an example that would benefit from that |
20:47:57 | * | Sentreen quit (Ping timeout: 240 seconds) |
20:51:51 | * | marenz_ joined #nim |
20:58:22 | * | yglukhov quit (Read error: Connection reset by peer) |
20:58:55 | * | yglukhov joined #nim |
21:00:46 | * | Sentreen joined #nim |
21:02:38 | Arrrr | !eval echo pred(littleEndian) |
21:02:40 | NimBot | Compile failed: in.nim(1, 10) Error: internal error: no symbol for ordinal value: -1 |
21:02:44 | dom96 | Araq: I'm still waiting to hear about what `import $package` does |
21:05:20 | dom96 | Here is an example that would benefit from that: https://github.com/dom96/nim-in-action-code/blob/master/Chapter3/ChatApp/src/client.nim#L42 |
21:09:55 | * | yglukhov quit (Read error: Connection reset by peer) |
21:10:35 | * | yglukhov joined #nim |
21:11:41 | Araq | dom96: there is import $p / f |
21:11:43 | Araq | and |
21:11:46 | Araq | import $p |
21:12:10 | Araq | import $p is short for $p / p |
21:13:59 | dom96 | and what does '$p / p' mean? |
21:15:39 | * | yglukhov quit (Read error: Connection reset by peer) |
21:16:03 | Araq | well it searches for a dir named 'p' with a file 'p.nim' in it |
21:16:14 | Araq | roughly speaking |
21:16:20 | * | yglukhov joined #nim |
21:16:50 | dom96 | searches where? |
21:18:08 | Araq | ../, ../.., ../../.. etc |
21:18:50 | Araq | and if no parent has it, nimble dir is tried |
21:19:26 | dom96 | what does this solve? |
21:19:58 | * | Snircle joined #nim |
21:22:53 | Araq | I don't have to write .nims/nim.cfg files anymore that set --path |
21:23:49 | Araq | oh btw import $stdlib / [strutils, os] is special cased |
21:24:06 | Araq | and was the initial problem I solved :P |
21:24:37 | dom96 | wouldn't it make sense to write 'import ../p' instead of having the compiler "guess" where it is? |
21:27:02 | * | yglukhov quit (Read error: Connection reset by peer) |
21:27:42 | * | yglukhov joined #nim |
21:37:37 | Araq | import "../../jester/jester/jester" |
21:38:07 | Araq | I dont think so |
21:39:08 | * | guest5081 joined #nim |
21:39:14 | dom96 | huh? |
21:39:19 | dom96 | Why would you need to do that? |
21:39:50 | dom96 | are you trying to import jester from your ~/projects/ within another project? |
21:40:13 | guest5081 | Question as someone new to Nim, how dependent is Nim on GC? I heard that you can turn it off, does that mean it's like D where you can manage memory manually but don't have to? |
21:41:33 | FromGitter | <Varriount> guest5081: You can write Nim code that doesn't use the GC, however you will be giving up most of the standard library. |
21:42:08 | FromGitter | <Varriount> guest5081: Are you aiming to run Nim on embedded hardware or something? |
21:42:18 | * | Trustable joined #nim |
21:42:23 | guest5081 | No, I was just curious |
21:43:57 | guest5081 | But it's possible to use it in a way where you can control how much garbage you generate? I recall doing some unity stuff in C# and my first impression was that Garbage was a major issue |
21:44:26 | Arrrr | C# generates a lot more garbage than nim |
21:44:59 | dom96 | You can control when the GC runs and for how long |
21:45:18 | * | CcxWrk_ quit (Quit: ZNC 1.6.4 - http://znc.in) |
21:45:27 | * | CcxWrk joined #nim |
21:48:42 | FromGitter | <Varriount> Or even pause it |
21:50:39 | * | xet7 joined #nim |
21:50:53 | * | euantor joined #nim |
21:51:25 | * | zielmicha_ joined #nim |
21:51:53 | * | Jesin joined #nim |
21:53:11 | * | TheManiac quit (Ping timeout: 252 seconds) |
21:53:12 | * | planetis[m] quit (Ping timeout: 246 seconds) |
21:53:12 | * | shashlick quit (Ping timeout: 246 seconds) |
21:53:42 | * | unclechu quit (Ping timeout: 276 seconds) |
21:53:49 | * | MrAxilus[m] quit (Ping timeout: 240 seconds) |
21:53:49 | * | ehmry quit (Ping timeout: 240 seconds) |
21:53:52 | * | mindB quit (Ping timeout: 240 seconds) |
21:53:53 | * | Jipok[m] quit (Ping timeout: 240 seconds) |
21:53:54 | * | notdekka[m] quit (Ping timeout: 246 seconds) |
21:54:08 | * | hohlerde quit (Ping timeout: 240 seconds) |
21:54:14 | * | dyce[m] quit (Ping timeout: 255 seconds) |
21:54:22 | * | byteflame quit (Ping timeout: 248 seconds) |
21:54:22 | * | watzon quit (Ping timeout: 264 seconds) |
21:54:59 | * | jivank[m] quit (Ping timeout: 276 seconds) |
21:55:27 | * | kunev quit (Ping timeout: 240 seconds) |
21:56:04 | * | kunev joined #nim |
22:02:16 | Araq | dom96: yes. also 'jester' might not be the best example obviously |
22:03:08 | dom96 | Araq: Why isn't `nimble develop` good enough? |
22:04:37 | * | Trustable quit (Remote host closed the connection) |
22:05:39 | * | SenasOzys_ joined #nim |
22:06:15 | Araq | it's not really related to nimble |
22:07:51 | * | SenasOzys joined #nim |
22:07:54 | * | SenasOzys__ joined #nim |
22:08:51 | * | SenasOzys_ quit (Remote host closed the connection) |
22:08:52 | Araq | I'd like to have more "convention over configuration", most of the configs I encounter only contain --path |
22:08:58 | dom96 | Yes, it is. |
22:09:27 | dom96 | The use case you described should use 'nimble develop' and `import jester` |
22:10:53 | guest5081 | Also, Nim's object system is multiple-dispatch based like CLOS? |
22:11:36 | Araq | guest5081: comparable I guess but multi-dispatch is useless :-) |
22:12:10 | guest5081 | Coming from Julia, I find that to be a heretical statement |
22:12:19 | * | SenasOzys__ quit (Remote host closed the connection) |
22:12:44 | guest5081 | ; ) |
22:13:18 | Araq | really? why? Julia uses multi dispatch as a workaround for plain old overloading iirc |
22:14:02 | guest5081 | ...sort of, it's very useful for numerical stuff |
22:14:16 | guest5081 | for example, if you have matrices of user-defined number types |
22:14:56 | Araq | dom96: yeah well, I'm not gonna apologize for "git clone xyz; import $xyz works out of the box" |
22:15:04 | * | SenasOzys quit (Remote host closed the connection) |
22:15:18 | Araq | no matter how good nimble works |
22:15:45 | * | SenasOzys__ joined #nim |
22:15:47 | * | SenasOzys joined #nim |
22:16:27 | guest5081 | But let's see, procedures in nim allow (static) overloading? |
22:16:44 | * | SenasOzys__ quit (Remote host closed the connection) |
22:18:13 | dom96 | Araq: You've seen me implementing `nimble develop`, I don't understand why you feel this is also necessary |
22:18:14 | * | PMunch quit (Quit: leaving) |
22:19:34 | shodan45 | anyone been able to cross compile for macos from linux? or windows? |
22:20:16 | shodan45 | seems most people give up & just run a VM or buy a mac :/ |
22:20:25 | shodan45 | (for C/C++) |
22:20:40 | * | SenasOzys quit (Remote host closed the connection) |
22:22:48 | * | tyler569 joined #nim |
22:25:32 | * | Jipok[m] joined #nim |
22:29:49 | * | SenasOzys__ joined #nim |
22:31:58 | * | shashlick joined #nim |
22:31:59 | shashlick | how do you kick off all tests on the Nim codebase |
22:32:10 | dom96 | ./koch tests |
22:34:43 | Araq | dom96: I don't really see much overlap here, if anything it means you don't have to give Nimble "workspaces" |
22:34:49 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
22:35:39 | shashlick | neat, hope it runs fairly fast on a laptop :) |
22:35:53 | Araq | ~30 minutes |
22:36:09 | shashlick | will save time waiting for AppVeyor/Travis |
22:36:33 | * | mindB joined #nim |
22:36:33 | * | byteflame joined #nim |
22:36:33 | * | dyce[m] joined #nim |
22:36:33 | * | unclechu joined #nim |
22:36:33 | * | MrAxilus[m] joined #nim |
22:36:34 | * | ehmry joined #nim |
22:36:34 | * | Demos[m] joined #nim |
22:36:34 | * | watzon joined #nim |
22:36:40 | dom96 | Araq: Please explain a use case that cannot be solved without this. |
22:36:40 | * | TheManiac joined #nim |
22:36:40 | * | jivank[m] joined #nim |
22:36:40 | * | notdekka[m] joined #nim |
22:36:40 | * | hohlerde joined #nim |
22:36:41 | * | planetis[m] joined #nim |
22:37:34 | * | SenasOzys__ quit (Ping timeout: 264 seconds) |
22:39:52 | Araq | dom96: I can easily use packages that are missing in packages.json :-) |
22:40:35 | Araq | "cannot be solved without this" is the wrong criterion though, it is an attempt to make things easier |
22:40:57 | dom96 | Are you under the impression that `nimble develop` can only be used with published packages? |
22:41:26 | Araq | I'm under the impression that I would need to do 'nimble init && nimble develop' and more importantly |
22:42:17 | Araq | users need to know about nimble and its 'develop' feature or else they mess with --path |
22:43:09 | dom96 | You need a .nimble file, yes. |
22:43:15 | dom96 | But users should be aware of Nimble anyway |
22:43:27 | dom96 | Adding yet another language feature seems like a bad idea. |
22:43:57 | Araq | import $stdlib / strutils |
22:43:58 | Araq | vs |
22:44:05 | Araq | import $my / strutils |
22:44:15 | Araq | was requested multiple times |
22:44:31 | Araq | and has little to do with nimble |
22:45:04 | dom96 | So how do we explain to people when `$my` vs `my` should be used? |
22:45:12 | dom96 | This distinction isn't useful |
22:45:19 | shashlick | why does koch require the nim.exe built from csources and not nim installed by choosenim? |
22:45:36 | Araq | shashlick: it predates choosenim by years? |
22:45:57 | dom96 | shashlick: it tests what's in the repo, not installed on the user's system |
22:46:00 | Araq | also it's the "logical" way to build things for bootstrapping purposes |
22:46:15 | Araq | and 'koch' is all about bootstrapping |
22:46:58 | shashlick | ok cause for every clone of nim, I need to download csources and build that as well, even though I have nim already |
22:47:21 | Araq | huh? you don't have to do that |
22:47:33 | Araq | "git pull --rebase && koch boot -d:release" |
22:47:43 | Araq | is how to keep up to date with devel |
22:47:50 | dom96 | s/--rebase// |
22:48:09 | Araq | that's a matter of taste I guess |
22:48:12 | dom96 | Unless you've got your own commits you want to rebase |
22:48:15 | shashlick | so I built koch using my existing install of nim, but when I run koch boot, it complains |
22:49:00 | * | shashlick sent a long message: shashlick_2017-11-05_22:48:50.txt <https://matrix.org/_matrix/media/v1/download/matrix.org/hHDsSBlqGjlmNSqwwgoyLvvm> |
22:50:07 | Araq | dom96: eventually/hopefully the imports will all be import $package / [a, b, c] import $different_package / [x, y, z] and we don't have to explain $my vs my ... |
22:50:32 | dom96 | so just change the way 'my' works instead of adding this weird dollar sign |
22:50:55 | Araq | oh ... hmmm |
22:51:08 | Araq | I wonder how much this would break... |
22:51:46 | dom96 | I'm still of the opinion that magically searching for things this way is a bad idea |
22:52:01 | dom96 | it will undoubtedly fail somewhere |
22:52:10 | dom96 | but since you want it so much then it's better to find the problems now |
22:52:15 | dom96 | instead of 3 years in the future |
22:52:35 | Araq | that doesn't sound very Nim-like to me ;-) |
22:52:42 | dom96 | shashlick: did you copy nim.exe into compiler/nim0.exe? |
22:54:57 | shashlick | there seems to be a nim0.exe there already |
22:55:28 | FromGitter | <i64> @araq : shouldn't that empty string be "0" instead? |
22:55:30 | FromGitter | <i64> https://github.com/nim-lang/opengl/blob/e1283c7800b00372ee0e218a42212370adc37593/src/opengl/private/prelude.nim#L81 |
22:55:52 | shashlick | but running it fails since it cannot find nim0.exe in .choosenim |
22:56:12 | FromGitter | <i64> haven't tried using glu procs to see if it crashes |
22:58:02 | dom96 | hrm, did koch copy nim.exe from PATH into there? |
22:58:17 | Araq | i64 no idea, it really shouldn't use glu |
22:58:57 | Araq | wooohoo, I made travis green :D |
22:59:29 | dom96 | Araq: btw, your $ doesn't capture the common directory structure: where a 'src' directory is used. |
22:59:54 | shashlick | copy c:\Users\gt.choosenim\toolchains\nim-#head\bin\nim.exe compiler. |
22:59:55 | shashlick | koch boot |
22:59:56 | shashlick | => Requested executable is missing. (Path: C:\Users\gt.choosenim\toolchains\nim-#head\bin\nim0.exe) |
22:59:57 | * | mwbrown quit (Ping timeout: 260 seconds) |
22:59:58 | dom96 | Please, just use 'nimble develop' |
23:00:46 | dom96 | copy c:\Users\gt.choosenim\toolchains\nim-#head\bin\nim.exe compiler\nim0.exe ? |
23:00:58 | FromGitter | <i64> how do you mean? |
23:02:14 | FromGitter | <i64> i see the android and ios paths don't include glu. you mean it shouldn't use glu for consistency? |
23:02:14 | * | nsf quit (Quit: WeeChat 1.9.1) |
23:03:05 | FromGitter | <i64> gluGetProc never gets a string so this is probably a bug me thinks |
23:03:31 | * | mwbrown joined #nim |
23:03:44 | FromGitter | <i64> submitted my first pull request to this project :) |
23:08:10 | Araq | dom96: I think it does? |
23:08:47 | shashlick | dom96: for some reason, koch boot wants nim0 in compiler and in .choosenim |
23:09:05 | dom96 | shashlick: That's not koch printing that message |
23:09:07 | dom96 | it's nim0.exe |
23:09:51 | Araq | good night |
23:10:09 | dom96 | Araq: I don't think it does |
23:11:05 | shashlick | I see |
23:11:24 | dom96 | This can't possibly work: src/pkg/foo.nim; tests/mytest.nim (import $pkg/foo) |
23:12:34 | dom96 | you'd need `import ../src/pkg/foo.nim` |
23:12:39 | dom96 | s/.nim// |
23:15:21 | * | mwbrown quit (Ping timeout: 258 seconds) |
23:16:05 | * | guest5081 quit (Ping timeout: 240 seconds) |
23:19:50 | * | mwbrown joined #nim |
23:20:19 | FromGitter | <mratsim> @guest5081 I’m building a Julia/Numpy like package from Nim, I don’t use multiple dispatch |
23:21:01 | FromGitter | <mratsim> For now overloading is enough for Numpy functionality. And single dispatch for autograd/neural network graph computations |
23:21:15 | shashlick | dom96: never mind, I'm just going the csources route, copying nim0.exe around is causing it to kick off infinite child processes, almost killed my VM |
23:21:34 | FromGitter | <mratsim> And my package is generic over any T (float, number, custom object, strings, tuple …) |
23:21:35 | shashlick | dir |
23:21:49 | dom96 | how did it end up there in the first place though? |
23:29:19 | shashlick | dom96: not sure if that question was for me, I copied it like you said. Anyway, using csources method, i'm up and running |
23:29:30 | dom96 | It was for you |
23:29:45 | dom96 | But it somehow ended up there in the first place |
23:30:05 | shashlick | ya i'm unsure how nim0.exe was in compiler from the beginning |
23:30:41 | dom96 | overwriting nim0.exe with the actual nim.exe shouldn't have caused issues though |
23:35:30 | * | Arrrr quit (Read error: Connection reset by peer) |
23:46:33 | * | elrood quit (Remote host closed the connection) |
23:49:39 | GitDisc | <GooRoo> Hi guys, me again. Just wanted to let you know that Slack is now able to create an invitation link without any 3rd party services. And it has integrated IRC and XMPP support. |
23:49:40 | GitDisc | <GooRoo> It means that there is only one reason left to not throw Discord, Gitter, IRC and bridges between them to hell — conservatism. |
23:49:50 | GitDisc | <GooRoo> |
23:56:14 | * | yglukhov quit (Remote host closed the connection) |
23:56:52 | dom96 | oh cool |
23:56:57 | dom96 | We'll still have a bridge though |
23:57:23 | dom96 | So how do I invite everyone? |
23:58:21 | dom96 | or rather allow everyone to join? |
23:59:40 | GitDisc | <GooRoo> do you already have a Slack "team"? |