<< 05-11-2017 >>

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:06FromGitter<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:14FromGitter<Varriount> Araq: I thought that absolute imports were frowned upon?
01:54:29FromGitter<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:45FromGitter<brentp> with the code here: https://gist.github.com/brentp/e9578c189accfcf71fe13436471d0b93
01:54:54FromGitter<brentp> any ideas?
01:56:57FromGitter<Varriount> @brentp It would be easier if you put the error in a gist too. :/
01:57:19FromGitter<Varriount> Are you using some sort of C library or header?
01:58:10FromGitter<brentp> https://gist.github.com/brentp/e9578c189accfcf71fe13436471d0b93#file-error
01:58:44FromGitter<brentp> @Varriount yes.
02:01:36FromGitter<Varriount> @brentp It looks like a problem with the C/C++ wrapper.
02:04:06FromGitter<data-man> @brentp: https://github.com/Martinsos/edlib ? ⏎ Reimplement to Nim :)
02:04:45FromGitter<brentp> pffft. no way!
02:05:15FromGitter<Varriount> @brentp "request for member ‘edlibAlign’ in ‘query->NimStringDesc::data’"
02:05:19FromGitter<brentp> I can build the c++ code fine, just can't do it via nim
02:05:41FromGitter<Varriount> Looks like your code is treating a string as something else.
02:08:11FromGitter<Varriount> @brentp Could you turn --lineDir:on and see what line the generated C corresponds to?
02:13:03FromGitter<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:44FromGitter<Varriount> Yeah, but which line is that in the Nim code?
02:14:29FromGitter<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:39FromGitter<brentp> oh, it's the line in nim where it calls `edlibAlign`
02:16:45FromGitter<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:10FromGitter<Varriount> Are you linking with the object file?
02:21:19FromGitter<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:16FromGitter<brentp> not sure what I changed, but now it's working...
02:25:02FromGitter<Varriount> Hm
02:25:14FromGitter<Varriount> You could try clearing the nimcache folder?
02:25:23FromGitter<Varriount> And see if that causes the problem to appear again.
02:27:56FromGitter<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:03FromGitter<Varriount> @brentp Huh. By the way, what is edlib, and what are you using it for?
02:30:38FromGitter<brentp> it does pairwise alignment of DNA sequences... very fast.
02:31:03FromGitter<brentp> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5408825/
02:31:59FromGitter<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:50FromGitter<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:10FromGitter<brentp> will do. thanks!
02:47:03FromGitter<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:14FromGitter<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:05ArrrrNoice 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:56GertmDo I need libpcre2-dev or libpcre3-dev? (Debian)
09:37:12*Arrrr1 quit (Quit: Leaving.)
09:49:50FromGitter<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:23shashlickYay 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:03Gertm@data-man: So which library do I need to install then?
10:29:07FromGitter<data-man> @Gertm: I will assume that libpcre-dev. I'm using ArchLinux, sorry.
10:30:14Gertm@data-man: Yeah that one doesn't exist.
10:34:11*lastjedi joined #nim
10:40:33dom96Gertm: Try the first one, then the second one?
10:40:56GertmI just installed both of them.
10:41:15GertmThe pcre2 one is the 'new' pcre lib and the 3 is the 'old' one. Very logical.
10:41:26GertmThey 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:34dom96Varriount: Don't think so. What's the use case for that?
10:51:13dom96shashlick: so where is your PR? All I see is an issue
10:51:44FromGitter<Yardanico> dom96: https://github.com/nim-lang/Nim/pull/6694 probably?
10:52:32dom96ahh
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:02FromGitter<mratsim> Got my Nim in Action physical copy :) (it’s Black & White though :/)
11:04:25dom96Most technical books are black and white :)
11:04:34zolk3riracist
11:06:05FromGitter<Yardanico> lmao
11:09:49*lastjedi joined #nim
11:09:50FromGitter<Yardanico> dom96: https://github.com/nim-lang/Nim/pull/6694 tests failing aren't related to this PR
11:09:55FromGitter<Yardanico> check commits in devel
11:09:59FromGitter<Yardanico> CI are failing on them too
11:11:01dom96yes, but there is an extra test that is failing in that PR
11:11:13FromGitter<Yardanico> ah yes
11:11:14FromGitter<Yardanico> sorry :)
11:11:40dom96Araq: Why are tests broken?
11:13:29FromGitter<Yardanico> some lexer test is broken
11:13:35FromGitter<Yardanico> well it's devel
11:13:41FromGitter<Yardanico> it's expected that sometimes tests can be failing :)
11:14:23dom96yeah, but not for 5 days
11:15:04FromGitter<Yardanico> well it was travis only issue previously
11:15:17dom96Hrm, we haven't had a livestream in a while
11:15:19FromGitter<Yardanico> and it was failing on linux only (macos was fine)
11:15:39dom96Stop making excuses :P
11:16:32FromGitter<Yardanico> maybe araq is tired :P
11:19:02*lastjedi quit (Ping timeout: 252 seconds)
11:44:02*dddddd joined #nim
11:50:32Araqthe tests that keep failing are http related
11:50:39AraqI will disable them for travis
11:51:05*miran quit (Ping timeout: 240 seconds)
11:54:04FromGitter<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:21Araqright
11:56:39*kalkin- joined #nim
11:56:51kalkin-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:57yglukhovAraq: import $package / font crashes: https://gist.github.com/yglukhov/b00324496e3edfdef9a8a45d389a8d24
12:21:56yglukhovAraq: 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:43FromGitter<alehander42> what kind of exceptions
13:22:59FromGitter<alehander42> should I raise in macro-s? any idiomatic ones?
13:34:50*elrood joined #nim
13:37:44dom96I think you're meant to use this: https://nim-lang.org/docs/macros.html#error,string,NimNode
13:40:09FromGitter<alehander42> excellent, I knew there was something like that
13:40:23FromGitter<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:22FromGitter<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:02GitDisc<awr> suppose i have a distinct-ified a generic type, e.g. type Foo = distinct Bar[int]
15:05:23dom96alehander42: ooh, thats a great approach.
15:05:29GitDisc<awr> if i have a variable x of type Foo, how do i convert it back to Bar[int]
15:05:52dom96awr: (Bar[int])(foo) perhaps
15:05:53GitDisc<awr> do i have to define a new non-distinct type alias to Bar[int]
15:06:02GitDisc<awr> k lemme try
15:06:35*miran quit (Quit: Leaving)
15:06:48GitDisc<awr> yay it works
15:06:49GitDisc<awr> thank you
15:06:53dom96np :)
15:07:54FromGitter<mratsim> oh nice alehander42 I love that, have to steal that for Arraymancer “mapReduce"
15:08:51GitDisc<awr> also does the method call syntax support listing generic params anywhere or is listing generic params only for normal call syntax
15:11:04FromGitter<alehander42> @mratsim haha, I actually thought the stuff you're doing with Arraymancer a bit as an inspiration
15:11:58GitDisc<awr> if you have proc someproc[T](a: int): int
15:12:18GitDisc<awr> you can't call foo.someproc[T]()
15:12:45FromGitter<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:58FromGitter<alehander42> but I'll try to stabilize it when I have time next week
15:13:05GitDisc<awr> is the only way of doing that someproc[T](foo)
15:15:57FromGitter<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:38Araqawr: yes
15:18:03Araqthere are plans to introduce someproc(:T)(foo) but nothing is scheduled for v1
15:19:07Araqfoo.someproc(:T)() could easily be supported then as it doesn't clash with array indexing
15:20:52Araqa.b[i] means (a.b)[i] not a.(b[i])
15:25:08FromGitter<Varriount> @alehander42 That library looks really neat!
15:25:11Arrrrthe new if-else modification reminded me of the `for a in b: let a = a` scope issue, i think it should change
15:26:00Araqwhy?
15:26:52ArrrrSame reason you can do that in procs
15:26:59GitDisc<awr> would the (:T) syntax be exclusive to the method syntax?
15:28:25GitDisc<awr> or would it be expanded to normal calls, such as someproc(:T)(foo)
15:28:36AraqArrrr: do you mean closures?
15:30:14ArrrrRight now you can't do `for i in 1 .. 2: let i = i + 1`
15:30:35Arrrrbut you can do `proc test(i: int) = let i = i + 1`
15:31:19Arrrr!eval for i in 1 .. 2: let i = i + 1
15:31:20NimBotCompile failed: in.nim(1, 18) Error: expression expected, but found 'keyword let'
15:31:32Arrrrwell, not that error
15:31:51Arrrr!eval for i in 1 .. 2: (let i = i + 1;)
15:31:52NimBotCompile failed: in.nim(1, 23) Error: redefinition of 'i'
15:34:30AraqArrrr: I agree, thank you.
15:34:44Araqshould
15:34:48Araq var i = 4
15:34:48Araq for i in 0..4: …
15:34:52Araqstill be valid?
15:35:37Araqwell yeah cause otherwise you could access 'i' after the loop
15:59:06FromGitter<alehander42> @mratsim yep that's a nice solution too
16:00:18FromGitter<alehander42> @Varriount thanks
16:01:01*arnetheduck quit (Ping timeout: 240 seconds)
16:01:02*nsf joined #nim
16:01:39FromGitter<Varriount> Although, I'm left wondering why map, split, etc aren't iterators in the standard library
16:05:53FromGitter<alehander42> Btw my first idea to define iterator versions of them too
16:06:15FromGitter<mratsim> inline iterator chaining is broken unfortunately
16:06:28FromGitter<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:37FromGitter<Yardanico> Araq: I hope that new changes/ features all will be added to manual before new release ? :)
17:10:29ArrrrFrom 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:20FromGitter<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:04ArrrrHehe, 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:25FromGitter<data-man> What a thief stole?
17:41:16ArrrrDon't know, i wasn't paying attention
17:51:15ArrrrAh, is a miniseries called "The Andromeda Strain", seems to make sense given the context of the show.
17:55:06FromGitter<data-man> Filmed on the novel by Michael Crichton?
17:55:25ArrrrThat seems to be the case
17:58:33ArrrrThe `<` alias for pred was very useful. Now i have to rename a thousand things
18:17:12shashlickdom96, yardanico - how do I figure out where this test is defined?
18:17:15shashlickTest "lib/pure\httpclient.nim" in category "lib"
18:17:15shashlickFailure: reNimcCrash
18:17:16shashlickExpected:
18:20:03*nsf quit (Quit: WeeChat 1.9.1)
18:20:08FromGitter<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:15shashlickLooks like it is tests\testament, will have to figure out what it is doing
18:22:45shashlickhttpclient 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:37shashlickI think it is because I don't have the new SSL code inside a when defined(ssl) block
18:41:25elrooddata-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:23elroodif 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:08FromGitter<data-man> @elrood: Big thanks!
18:49:44elroodoh 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:26FromGitter<data-man> Then I have a request to the whole Nimmunity©®™: to consult with your company's lawyers about this issue.
19:02:49FromGitter<Varriount> @data-man is this about that ascii algorithm?
19:04:39FromGitter<matrixbot> `federico3` Dmitry Atamanov (Gitter): can you show the original and the port?
19:05:03FromGitter<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:55FromGitter<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:54FromGitter<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:43FromGitter<Yardanico> well it's mostly colors
19:22:48FromGitter<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:58Araqyardanico: 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:36Araqso ... 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:38Arrrr!eval echo pred(littleEndian)
21:02:40NimBotCompile failed: in.nim(1, 10) Error: internal error: no symbol for ordinal value: -1
21:02:44dom96Araq: I'm still waiting to hear about what `import $package` does
21:05:20dom96Here 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:41Araqdom96: there is import $p / f
21:11:43Araqand
21:11:46Araqimport $p
21:12:10Araqimport $p is short for $p / p
21:13:59dom96and what does '$p / p' mean?
21:15:39*yglukhov quit (Read error: Connection reset by peer)
21:16:03Araqwell it searches for a dir named 'p' with a file 'p.nim' in it
21:16:14Araqroughly speaking
21:16:20*yglukhov joined #nim
21:16:50dom96searches where?
21:18:08Araq../, ../.., ../../.. etc
21:18:50Araqand if no parent has it, nimble dir is tried
21:19:26dom96what does this solve?
21:19:58*Snircle joined #nim
21:22:53AraqI don't have to write .nims/nim.cfg files anymore that set --path
21:23:49Araqoh btw import $stdlib / [strutils, os] is special cased
21:24:06Araqand was the initial problem I solved :P
21:24:37dom96wouldn'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:37Araqimport "../../jester/jester/jester"
21:38:07AraqI dont think so
21:39:08*guest5081 joined #nim
21:39:14dom96huh?
21:39:19dom96Why would you need to do that?
21:39:50dom96are you trying to import jester from your ~/projects/ within another project?
21:40:13guest5081Question 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:33FromGitter<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:08FromGitter<Varriount> guest5081: Are you aiming to run Nim on embedded hardware or something?
21:42:18*Trustable joined #nim
21:42:23guest5081No, I was just curious
21:43:57guest5081But 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:26ArrrrC# generates a lot more garbage than nim
21:44:59dom96You 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:42FromGitter<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:16Araqdom96: yes. also 'jester' might not be the best example obviously
22:03:08dom96Araq: 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:15Araqit'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:52AraqI'd like to have more "convention over configuration", most of the configs I encounter only contain --path
22:08:58dom96Yes, it is.
22:09:27dom96The use case you described should use 'nimble develop' and `import jester`
22:10:53guest5081Also, Nim's object system is multiple-dispatch based like CLOS?
22:11:36Araqguest5081: comparable I guess but multi-dispatch is useless :-)
22:12:10guest5081Coming from Julia, I find that to be a heretical statement
22:12:19*SenasOzys__ quit (Remote host closed the connection)
22:12:44guest5081; )
22:13:18Araqreally? why? Julia uses multi dispatch as a workaround for plain old overloading iirc
22:14:02guest5081...sort of, it's very useful for numerical stuff
22:14:16guest5081for example, if you have matrices of user-defined number types
22:14:56Araqdom96: 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:18Araqno matter how good nimble works
22:15:45*SenasOzys__ joined #nim
22:15:47*SenasOzys joined #nim
22:16:27guest5081But let's see, procedures in nim allow (static) overloading?
22:16:44*SenasOzys__ quit (Remote host closed the connection)
22:18:13dom96Araq: 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:34shodan45anyone been able to cross compile for macos from linux? or windows?
22:20:16shodan45seems most people give up & just run a VM or buy a mac :/
22:20:25shodan45(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:59shashlickhow do you kick off all tests on the Nim codebase
22:32:10dom96./koch tests
22:34:43Araqdom96: 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:39shashlickneat, hope it runs fairly fast on a laptop :)
22:35:53Araq~30 minutes
22:36:09shashlickwill 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:40dom96Araq: 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:52Araqdom96: I can easily use packages that are missing in packages.json :-)
22:40:35Araq"cannot be solved without this" is the wrong criterion though, it is an attempt to make things easier
22:40:57dom96Are you under the impression that `nimble develop` can only be used with published packages?
22:41:26AraqI'm under the impression that I would need to do 'nimble init && nimble develop' and more importantly
22:42:17Araqusers need to know about nimble and its 'develop' feature or else they mess with --path
22:43:09dom96You need a .nimble file, yes.
22:43:15dom96But users should be aware of Nimble anyway
22:43:27dom96Adding yet another language feature seems like a bad idea.
22:43:57Araqimport $stdlib / strutils
22:43:58Araqvs
22:44:05Araqimport $my / strutils
22:44:15Araqwas requested multiple times
22:44:31Araqand has little to do with nimble
22:45:04dom96So how do we explain to people when `$my` vs `my` should be used?
22:45:12dom96This distinction isn't useful
22:45:19shashlickwhy does koch require the nim.exe built from csources and not nim installed by choosenim?
22:45:36Araqshashlick: it predates choosenim by years?
22:45:57dom96shashlick: it tests what's in the repo, not installed on the user's system
22:46:00Araqalso it's the "logical" way to build things for bootstrapping purposes
22:46:15Araqand 'koch' is all about bootstrapping
22:46:58shashlickok cause for every clone of nim, I need to download csources and build that as well, even though I have nim already
22:47:21Araqhuh? you don't have to do that
22:47:33Araq"git pull --rebase && koch boot -d:release"
22:47:43Araqis how to keep up to date with devel
22:47:50dom96s/--rebase//
22:48:09Araqthat's a matter of taste I guess
22:48:12dom96Unless you've got your own commits you want to rebase
22:48:15shashlickso 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:07Araqdom96: 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:32dom96so just change the way 'my' works instead of adding this weird dollar sign
22:50:55Araqoh ... hmmm
22:51:08AraqI wonder how much this would break...
22:51:46dom96I'm still of the opinion that magically searching for things this way is a bad idea
22:52:01dom96it will undoubtedly fail somewhere
22:52:10dom96but since you want it so much then it's better to find the problems now
22:52:15dom96instead of 3 years in the future
22:52:35Araqthat doesn't sound very Nim-like to me ;-)
22:52:42dom96shashlick: did you copy nim.exe into compiler/nim0.exe?
22:54:57shashlickthere seems to be a nim0.exe there already
22:55:28FromGitter<i64> @araq : shouldn't that empty string be "0" instead?
22:55:30FromGitter<i64> https://github.com/nim-lang/opengl/blob/e1283c7800b00372ee0e218a42212370adc37593/src/opengl/private/prelude.nim#L81
22:55:52shashlickbut running it fails since it cannot find nim0.exe in .choosenim
22:56:12FromGitter<i64> haven't tried using glu procs to see if it crashes
22:58:02dom96hrm, did koch copy nim.exe from PATH into there?
22:58:17Araqi64 no idea, it really shouldn't use glu
22:58:57Araqwooohoo, I made travis green :D
22:59:29dom96Araq: btw, your $ doesn't capture the common directory structure: where a 'src' directory is used.
22:59:54shashlickcopy c:\Users\gt.choosenim\toolchains\nim-#head\bin\nim.exe compiler.
22:59:55shashlickkoch boot
22:59:56shashlick=> 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:58dom96Please, just use 'nimble develop'
23:00:46dom96copy c:\Users\gt.choosenim\toolchains\nim-#head\bin\nim.exe compiler\nim0.exe ?
23:00:58FromGitter<i64> how do you mean?
23:02:14FromGitter<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:05FromGitter<i64> gluGetProc never gets a string so this is probably a bug me thinks
23:03:31*mwbrown joined #nim
23:03:44FromGitter<i64> submitted my first pull request to this project :)
23:08:10Araqdom96: I think it does?
23:08:47shashlickdom96: for some reason, koch boot wants nim0 in compiler and in .choosenim
23:09:05dom96shashlick: That's not koch printing that message
23:09:07dom96it's nim0.exe
23:09:51Araqgood night
23:10:09dom96Araq: I don't think it does
23:11:05shashlickI see
23:11:24dom96This can't possibly work: src/pkg/foo.nim; tests/mytest.nim (import $pkg/foo)
23:12:34dom96you'd need `import ../src/pkg/foo.nim`
23:12:39dom96s/.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:19FromGitter<mratsim> @guest5081 I’m building a Julia/Numpy like package from Nim, I don’t use multiple dispatch
23:21:01FromGitter<mratsim> For now overloading is enough for Numpy functionality. And single dispatch for autograd/neural network graph computations
23:21:15shashlickdom96: 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:34FromGitter<mratsim> And my package is generic over any T (float, number, custom object, strings, tuple …)
23:21:35shashlickdir
23:21:49dom96how did it end up there in the first place though?
23:29:19shashlickdom96: 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:30dom96It was for you
23:29:45dom96But it somehow ended up there in the first place
23:30:05shashlickya i'm unsure how nim0.exe was in compiler from the beginning
23:30:41dom96overwriting 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:39GitDisc<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:40GitDisc<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:50GitDisc<GooRoo> 
23:56:14*yglukhov quit (Remote host closed the connection)
23:56:52dom96oh cool
23:56:57dom96We'll still have a bridge though
23:57:23dom96So how do I invite everyone?
23:58:21dom96or rather allow everyone to join?
23:59:40GitDisc<GooRoo> do you already have a Slack "team"?