<< 17-04-2019 >>

00:07:53*rnrwashere joined #nim
00:09:49I_Right_IAny updates on the new runtime?
00:13:36rayman22201Araq is still working on it. The team released a new video blog today, and Araq talks a bit about the new runtime at the end
00:14:10rayman22201https://www.youtube.com/watch?v=Ni9ywA0KvrE
00:14:50I_Right_Ioh, cool thanks
00:15:18rayman22201np. we need to market the videos better lol
00:21:09shashlickwhy is travis failing here? https://travis-ci.org/genotrance/nimble/jobs/521028632
00:21:22shashlickthe linux job proceeds fine, whats wrong
00:28:01*rnrwashere quit (Remote host closed the connection)
00:29:47*rnrwashere joined #nim
00:32:01rayman22201nimble -v failed "git hash: couldn't determine git hash"
00:32:02rayman22201that's weird
00:32:59*dddddd quit (Remote host closed the connection)
00:39:48shashlickthat's not the failure though
00:41:12rayman22201There seems to be no log output from the test itself, so it's hard to say
00:41:37shashlicktravis sucks
00:41:49rayman22201agreed
00:42:01rayman22201even the raw log shows nothing
00:42:33shashlickwaste of time
00:44:22*rnrwashere quit (Remote host closed the connection)
00:45:47rayman22201maybe it was a fluke? can you re-run manually?
00:46:12shashlickya tests pass lcally
00:47:35rayman22201that's good, but I meant can you force travis to do another CI run without pushing a commit?
00:48:32*rnrwashere joined #nim
00:48:48*rnrwashere quit (Remote host closed the connection)
00:49:03*rnrwashere joined #nim
00:49:10*rnrwashere quit (Remote host closed the connection)
00:49:50*rnrwashere joined #nim
00:54:06*rnrwashere quit (Ping timeout: 258 seconds)
00:55:00shashlickive tried all sorts of commits
00:55:02shashlickhttps://travis-ci.org/genotrance/nimble/jobs/521037449
00:55:17shashlicknothing runs all the way
00:56:54rayman22201weird
01:06:14rayman22201(╯°□°)╯︵ ┻━┻ Travis
01:20:28*I_Right_I quit (Remote host closed the connection)
01:35:13*rnrwashere joined #nim
02:05:17*abm quit (Quit: Leaving)
02:07:07*banc quit (Quit: Bye)
02:08:20*rnrwashere quit (Remote host closed the connection)
02:08:42*rnrwashere joined #nim
02:19:04*rnrwashere quit (Remote host closed the connection)
02:29:57*banc joined #nim
02:33:13*I_Right_I joined #nim
02:47:23FromDiscord<j$> can someone point me in the right direction for embedding a terminal in an application
02:47:56*i7sDream joined #nim
03:25:58I_Right_II have a question as far as weather to use nim stable vs nim devel. Is there a pro's con's blog about it somewhere? I am guessing if I would like to stay current with the stdlib I would use the development version.
03:27:38*d10n-work quit (Quit: Connection closed for inactivity)
03:32:41FromDiscord<j$> also compiling for release
03:32:52FromDiscord<j$> it seems to be missing pcre64.dll
03:33:21FromDiscord<j$> is this intended and am I supposed to include the dll in the folder bc that fixes the problem
03:34:53I_Right_Ij$ didyu just install ni
03:35:08I_Right_Isorry did you just install nim
03:35:25FromDiscord<j$> no?
03:36:33I_Right_Ii was just wondering because nim requires pcre
03:36:50FromDiscord<j$> the dll exists in the nim path, but for ppl without nim I have to inculde the dll with the application
03:37:04FromDiscord<j$> which is undesirable
03:37:14FromDiscord<j$> is there no way around this?
03:38:34rayman22201@j$ that is just how Windows works lol. You could static link pcre. There is a forum post about it somewhere.
03:38:45I_Right_II am new to nim, I use it on linux. I haven't ran into an issue with running an app on another machine.
03:39:33I_Right_Irayman22201: is there a complier option for that
03:39:38rayman22201Pcre is usually installed by default on linux
03:39:46rayman22201Not so on wondows
03:40:14I_Right_Ithats because windows is eveil
03:41:27rayman22201It's a set of compiler flags... Trying to find the forum post with the details...
03:41:28shashlickUse nimpcre
03:41:59*cgfuh quit (Quit: WeeChat 2.3)
03:43:43rayman22201Yup. shashlick you are awesome
03:48:51FromDiscord<j$> okay so nimpcre failed to install
03:48:55rayman22201I_Right_I: regarding stable vs develop. It's like any other project. It depends on your requirements. The current stable has had a lot of work into making sure that it is in fact "stable" and well supported. Moreso than earlier releases. Develop has all the cool bells and whistles but might randomly break your code.
03:50:09I_Right_Ibut the development version is the future of the stdlib?
03:50:28rayman22201Develop is the future, yes.
03:50:59I_Right_II didn't know how in flux the stdlib is in the devel
03:52:16rayman22201Newruntime has caused some big changes internally, but I don't think the APIs have changed too dramatically.
03:52:54rayman22201@j$ what was the failure?
03:54:19I_Right_Iwell I was using the random module and the example for 0.19.9 didnt compile for stable
03:58:59I_Right_Irayman22201: anyways thanks! p.s. I'll take all the bells and the whistles.
03:59:52FromDiscord<j$> I just had to update nim
03:59:57FromDiscord<j$> seems to have fixed it
04:00:01rayman22201👍
04:01:34I_Right_Ij$: that will help me out too something to be mindful of if I ever code for windows
04:04:58rayman22201I do find it curious that stable failed to compile the random example. The docs haven't changed. What was the error? I guess it doesn't matter too much.
04:05:53FromDiscord<j$> I had nim 0.19.0, I just moved to stable 0.19.4
04:06:00FromDiscord<j$> but I used choosenim
04:06:08FromDiscord<j$> I seem to have lost where it installs
04:08:17FromDiscord<j$> nvm
04:08:20FromDiscord<j$> I understand now
04:08:28I_Right_Irayman22201: rnd.nim(18, 12) Error: undeclared identifier: 'sample'
04:08:50I_Right_Ilet pick = sample(marbles)
04:11:04rayman22201that should work.... I think something may be screwed up with your nim stable
04:14:05I_Right_Ithat would be odd I haven't do anything abnormal.....nvm I live abnormal.
04:14:19I_Right_II'll reinstall and try again
04:14:44rayman22201lol. crossing the streams. how are you installing?
04:17:06I_Right_II installed with choosenim
04:17:16FromDiscord<j$> I cant seem to get nimpcre to work
04:17:29FromDiscord<j$> Error: cannot open file: nimpcre/pcre
04:19:54*rnrwashere joined #nim
04:24:00*sealmove joined #nim
04:24:03rayman22201I think choosenim has screwed you both up lol.... I'm not a fan...
04:26:30rayman22201J$ can you import other things or is it just pcre?
04:26:41*rnrwashere quit (Remote host closed the connection)
04:28:15sealmovewhat do you suggest for GUI dev in Nim?
04:30:01rayman22201https://github.com/yglukhov/nimx
04:30:38sealmovethanks
04:31:52FromDiscord<j$> yes I can import and build everything else but pcre
04:32:14rayman22201Other nimble libraries?
04:32:32FromDiscord<j$> I think I'll just attempt static linking instead cause I want to do it anyway
04:34:33*nsf joined #nim
04:36:20disruptekcouldn't make choosenim work for me, either.
04:36:23*disruptek shrugs.
04:36:36rayman22201I'm wondering if nimble is putting the library in the wrong directory because of choose nim
04:37:53FromDiscord<j$> so I think that might be it
04:38:10FromDiscord<j$> but I dont know what the content of nimprce package should be
04:38:19rayman22201https://forum.nim-lang.org/t/4149#25832
04:38:58rayman22201That's the old fashioned way of static linking
04:39:40rayman22201Nimpcre is better though
04:39:48FromDiscord<j$> why?
04:41:52rayman22201It uses the latest pcre and automates the flags and such that you need
04:44:28rayman22201And you don't have to mess with the annoying C details
04:46:19*rnrwashere joined #nim
04:49:59FromDiscord<j$> does static linking dlls work in nim
04:50:06FromDiscord<j$> bc I can't get it too
04:50:15FromDiscord<j$> I dont think I understand passL
04:50:37*rnrwashere quit (Ping timeout: 250 seconds)
04:50:46FromDiscord<j$> that seems to be source files only?
04:51:18*i7sDream quit (Ping timeout: 245 seconds)
04:54:42rayman22201Dlls are "dynamic linked libraries". You can't static link them. You the static version, which is a .lib file on Windows
04:55:16rayman22201Annoying C details
04:58:24rayman22201You could try installing Nim from GitHub instead of choose nim and see if that fixes nimble for you?
05:01:11*narimiran joined #nim
05:06:22*arecacea1 quit (Remote host closed the connection)
05:06:41*arecacea1 joined #nim
05:12:22*i7sDream joined #nim
05:16:49*i7sDream quit (Ping timeout: 246 seconds)
05:18:14FromDiscord<j$> I dont think nimble is broken bc everything installs correctly other than nimpcre
05:18:35FromDiscord<j$> but I try it anyway
05:31:10rayman22201If that's not it, you may need @shashlick himself to help.
05:31:47rayman22201Shashlick = genotrance on GitHub because he likes to confuse people lol
05:39:34*i7sDream joined #nim
05:40:51FromDiscord<j$> I cannot install c2nim via nimble
05:42:25FromDiscord<j$> Im going to sleep, am trigger
05:42:26FromDiscord<j$> ed
05:42:47FromDiscord<j$> Ill be back 2morrow after work #feelsbad
05:44:18*i7sDream quit (Ping timeout: 250 seconds)
05:44:38*GaveUp quit (Ping timeout: 245 seconds)
05:44:50*GaveUp joined #nim
05:52:59*I_Right_I quit (Remote host closed the connection)
05:55:17*kapil____ joined #nim
06:06:45*i7sDream joined #nim
06:07:11*krux02 joined #nim
06:10:08sealmovenimx is completely undocumented @_@ don't even know what procs are available
06:16:12*i7sDream quit (Ping timeout: 255 seconds)
06:16:49rayman22201https://github.com/yglukhov/nimx/tree/master/doc
06:16:55rayman22201???
06:20:14sealmovemmm, didn't realize TOC page lists the keywords to use in code, it looks like a regular/plaintext list :P
06:20:32sealmovebtw NimGL looks awesome!
06:26:07sealmoveand this is real documentation :P https://nimgl.org/docs/nimgl.html#nim-game-library
06:26:43leorizeanyone tried to write native-looking Android apps using Nim? The only way I could think of right now to use the react bindings and write a React-native app :/
06:29:10*[rg] joined #nim
06:29:30*i7sDream joined #nim
06:32:31*Minimisthupper joined #nim
06:32:39*i7sDream quit (Client Quit)
06:33:10*i7sDream joined #nim
06:37:14*solitudesf joined #nim
06:48:10*i7sDream quit (Quit: WeeChat 2.4)
06:50:47*salewski joined #nim
06:52:27salewskihttps://irclogs.nim-lang.org/16-04-2019.html#19:33:49
06:52:38salewski><exelotl> salewski: zevv was working on `with` macro but it's somewhat limited https://github.com/zevv/with
06:52:43*i7sDream joined #nim
06:52:57salewskiAh yes, that was the with I was looking for, thanks.
06:53:28salewskiIt can be hard to find such pieces as that sometimes...
06:55:06salewskiBye.
06:55:11*salewski quit (Client Quit)
07:00:00*gmpreussner quit (Quit: kthxbye)
07:04:39*gmpreussner joined #nim
07:10:21*Minimisthupper quit (Remote host closed the connection)
07:11:52*jjido joined #nim
07:22:43*NimBot joined #nim
07:35:35*Vladar joined #nim
07:57:10*chickendan joined #nim
08:01:35sealmovenimgl fails to install with nimble
08:04:39*zielmicha__ quit (Ping timeout: 252 seconds)
08:04:58*zielmicha__ joined #nim
08:05:28Araqsealmove, what's the error message?
08:07:19sealmovehttps://termbin.com/frbk4
08:08:08*floppydh joined #nim
08:22:22sealmovesome kind of authentication issue?
08:23:36Araqdoesn't seem Nimble related indeed
08:37:52*[rg] left #nim (#nim)
08:47:04sealmovedid {.unchecked.} change or something?
08:47:17Araqinstead use system.UncheckedArray
09:03:07*Senketsu quit (Quit: WeeChat 2.4)
09:04:38*Senketsu joined #nim
09:07:21*ua joined #nim
09:11:52*neceve joined #nim
09:23:58*vlad1777d quit (Ping timeout: 244 seconds)
09:25:25*sealmove quit (Quit: WeeChat 2.4)
09:40:24*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:40:50*couven92 joined #nim
09:43:43*stefanos82 joined #nim
09:56:32*jjido joined #nim
10:00:27*neceve quit (Remote host closed the connection)
10:01:44*neceve joined #nim
10:47:05Zevvwhat's at this time the best place to look for good examples of the newruntime new/owned/ref semantics?
10:49:27*xet7 joined #nim
10:51:08Araqhttps://gist.github.com/Araq/3dce9fca3837fd2cd6760a52ac020c04 ?
10:51:35Araqthis doesn't compile with devel but it shows how the stuff works, I hope
10:54:22Zevvthanks
10:57:00*stefantalpalaru joined #nim
10:57:10shashlickAraq, I'm in the last lap for nocompiler but have a random issue that's blocking me, some package installs break for no good reason
10:57:10*xet7 quit (Quit: Leaving)
10:57:28shashlickAlso tried adding osx to CI but Travis is breaking for no reason - no logs generated to debug, but osx works in local machine
10:57:32stefantalpalaruWhat module should I import to get posix or winlean, depending on the platform?
10:57:43shashlickAlso windows CI passes
10:57:57shashlickOn local machine, not on Travis
10:58:01Araqstrange, dom develops on OSX
10:58:07Araqstefantalpalaru, os.nim ?
10:58:17Araqso I would assume the tests work on OSX
10:58:55shashlickYes they do but Travis just stops after a cd command
10:59:08Araqtravis on OSX is weird
10:59:24AraqI think that some packages fail is more important to look into
10:59:35shashlickAnyway, bigger headache has been this issue I ran into last night with important packages testing
10:59:40shashlickYa agreed
10:59:59shashlickI need a way to test Nim CI with this new nimble
11:00:30stefantalpalaruI'm not getting InAddr with the "os" module.
11:01:10Araqnet.nim ? I dunno
11:02:15shashlickWeird thing is that running the nim e command directly works fine, but running nimble which calls nim e behind the scenes causes the nim e to exit with error 1 and spit out an error to stderr
11:02:17Araqshashlick, so which package fails?
11:02:40shashlickSeveral do on Linux, osx most passed
11:02:47shashlickVery confusing
11:02:56Araqcan you give me an example .nimble file ß
11:02:57Araq?
11:03:25shashlickThe glob package for example
11:03:48shashlicknimble test calls nimble c
11:04:19shashlickhttps://github.com/citycide/glob/blob/master/glob.nimble
11:04:43Araqand 'nimble c' calls back into 'nim e' ?
11:04:49*stefantalpalaru quit (Quit: stefantalpalaru)
11:04:59Araqnah, it invokes the compiler like before, right?
11:05:53shashlickYes correct
11:06:28Araqbut how does it know how to "build"?
11:06:31shashlickNimble - Nim e - nimble - Nim c
11:06:45shashlickThat code is in nimble proper
11:07:12Araqbut it can't, if Nimble doesn't use the compiler API, it cannot process the .nimble file
11:08:30shashlickthat's what i've implemented in nocompiler
11:08:52shashlicki convert the nimble file into a legacy ini file + a nims file
11:09:36Araqbah
11:09:56shashlickthis is the error i get - (1, 22) Error: undeclared identifier: 'home'
11:10:20Araq'nimble dump' should have been moved to the compiler
11:10:38Araqand then Nimble can call 'nim dump foo.nimble' to get the information, no need for an .ini file
11:11:11Araq'home' ? where is that coming from?
11:11:46shashlickit is part of the path being sent for the glob package nimble file
11:11:57shashlicki need to debug this further, don't mean to waste your time
11:12:01*xet7 joined #nim
11:12:23leorizeI'd be glad if `nim dump` can give me the project file name
11:12:51leorizewould be useful for implementing nimsuggest integration
11:14:42shashlickalso, nimble dump still uses the same method to get package info from the nimble file
11:15:56shashlickit calls readPackageInfoFromNimble() which calls the compiler to parse the nimble file
11:16:09shashlickso had to replace that with a nim e version
11:16:29Araqyou lost me
11:16:40Araqhow does that work?
11:17:23shashlickso most of my code is in this new file - https://github.com/genotrance/nimble/blob/nocompiler/src/nimblepkg/nimscriptwrapper.nim
11:17:51shashlickthat runs nim e instead of embedding the compiler
11:18:38shashlickhere's the part that reads the package info - https://github.com/genotrance/nimble/blob/nocompiler/src/nimblepkg/packageparser.nim#L286
11:25:58Araqwhat does nonExit() do?
11:26:54shashlickWhere is that? I didn't add it
11:27:51shashlickGithub is a pain on the phone
11:29:02Araqhttps://github.com/genotrance/nimble/blob/nocompiler/src/nimblepkg/nimscriptwrapper.nim#L69
11:29:31*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:30:12shashlickYou mean onExit, ya need to call that to communicate between nimble and nim e
11:30:29shashlickHad to add some stuff to nimscriptapi
11:31:16shashlickhttps://github.com/genotrance/nimble/blob/nocompiler/src/nimblepkg/nimscriptapi.nim#L110
11:31:16Araqah, cool
11:31:25Araqseems to be the right way
11:32:12shashlickRight now I'm printing the json to stdout but will have to use a file since the live output of the child process loses all colors
11:32:43shashlickIf I use parent streams, can't capture the output
11:32:55shashlickSo will have to use a file
11:36:36shashlickAny other feedback please let me know
11:40:20FromGitter<SirHaswell> hi
11:40:34FromGitter<SirHaswell> people ?
11:42:12shashlickSup
11:42:40FromGitter<SirHaswell> Nim seems like a crazy language! Why doesn't anyone use it?
11:43:17shashlickLots of people do
11:43:46FromGitter<SirHaswell> In relation to Rust, no one hears about Nim:;(
11:43:53FromGitter<mratsim> Currently you mostly have to search for it to find it
11:44:26shashlickWell advertising works that way - the more $ the more awareness
11:44:38FromGitter<mratsim> you need a critical mass to get natural exposure in bookshops, tutorial, "learn programming" threads
11:45:00FromGitter<mratsim> or you need a big backer
11:57:13*nc-x joined #nim
11:57:32nc-x`C:\Nim\lib\system\iterators.nim(154, 20) Error: internal error: '=destroy' operator not found for type seq[Obj]`
11:57:50nc-xHow and where do I define `=destroy` for a seq[Obj]?
11:58:04nc-xI am getting errors with whatever I try.
11:59:18FromGitter<mratsim> are you using the --newruntime or --gc:destructors flag?
12:00:00FromGitter<mratsim> there might be a regression where iterators rely on destructors even when one of thos eflags is not set
12:00:46nc-x--newruntime
12:01:15nc-xand I see `proc `=destroy`[T](s: var seq[T])` in seqs.nim behind `when not defined(nimV2):`
12:02:17livcdmozilla is a 1bn corporation anyway
12:03:18FromGitter<mratsim> maybe iterators.nim doesn't import seqs.nim
12:03:32FromGitter<mratsim> or include, not sure how it's set up
12:06:21livcdWhat is the largest Nim codebase out there ? (besides Nim itself)
12:08:04leorizenc-x: that's a bug that Araq is working on
12:08:46leorizean internal error is definitely a compiler bug
12:09:11nc-xmratsim: system.nim has `include "core/seqs"`
12:09:17nc-xleorize: Ah, okay!
12:10:03FromGitter<mratsim> @livcd, opensource it's probably ReelValley, closed source not sure, I think cooldome has a big Nim codebase at his work.
12:10:08Zevvlivcd: there was this game that was open sourced a few moths ago. Noone got it to compile afaik, though
12:10:15*nc-x quit (Quit: Page closed)
12:10:22Zevv>
12:10:24Zevv^
12:10:28FromGitter<mratsim> cc @yglukhov :p
12:10:54livcdyeah i know
12:10:55livcdi tried
12:10:55livcd:D
12:11:15*beatmox quit (Remote host closed the connection)
12:11:39*i7sDream quit (Remote host closed the connection)
12:17:07FromGitter<jrfondren> is there a complete language changelog somewhere? Nim in Action uses "for i in 0 .. <10:", and nim has a deprecation warning, but I don't know where you'd see to use ..< except by looking for looping examples in more recent tutorial documents.
12:18:59narimiranjrfondren https://nim-lang.org/blog/2018/03/01/version-0180-released.html
12:19:11narimiranctrl+F .. <
12:20:04FromGitter<jrfondren> even if I knew that the blog would probably mention it, < is pretty hard to search for. Maybe other deprecations are more searchable.
12:21:14narimiranyou can search the announcements for 'deprecated' ;)
12:26:14*dddddd joined #nim
12:29:16Araqbah nc-x is gone
12:29:31Araqnow I don't know how to reproduce and will work on a different bug :P
12:30:44FromGitter<kaushalmodi> looks like I logged in at the right time :)
12:30:53FromGitter<kaushalmodi> Araq: may be this issue? https://github.com/nim-lang/Nim/issues/11046
12:31:06*kapil____ quit (Quit: Connection closed for inactivity)
12:31:48Araqdidn't look deeply into it but it seems to me hard to fix, easy to workaround
12:32:07Araq let k = key, v = val
12:32:20Araq echo &"{k} {v}"
12:32:48Araqand btw I think we should deprecate 'fmt' and embrace '&'
12:33:06Araqit's silly we went with both syntaxes
12:33:12FromGitter<kaushalmodi> yeah
12:33:26shashlickI agree, never use fmt
12:33:27FromGitter<kaushalmodi> can you "alias" "fmt" to "&"?
12:33:48shashlickAlso would be nice if it were part of strutils
12:33:55shashlickBut oh well
12:33:57Araqthat's how it's done but it doesn't change the fact that lexing rules differ
12:34:39FromGitter<kaushalmodi> hmm
12:34:50FromGitter<kaushalmodi> btw just replace fmt to & did not make any difference, still fails
12:34:58FromGitter<kaushalmodi> next, will use the `let` trick you suggested
12:36:06FromGitter<mratsim> @jrfondren there was too many unintentional errors with unary <10
12:36:21*nc-x joined #nim
12:36:30FromGitter<mratsim> now you should use ..< without space and unary < (previous) will be removed
12:36:46nc-xAraq: I will open an issue in a few minutes once I get a minimize the code
12:36:56FromGitter<kaushalmodi> Araq: OK, that `let` trick worked: http://ix.io/1GrY
12:36:59FromGitter<jrfondren> I remembered that. I just wondered how I'm expected to learn that.
12:37:05FromGitter<mratsim> so `0 ..< 10` remains but `0 .. <10` is warned about
12:37:23FromGitter<kaushalmodi> Araq: what's a simple explanation for that behavior? (so that I can put in my notes)
12:37:31FromGitter<kaushalmodi> also, do you think that will be fixed?
12:37:34FromGitter<mratsim> the new deprecation indicates what is the replacement
12:37:40FromGitter<mratsim> deprecations*
12:38:07FromGitter<mratsim> you can do a PR to add that to <
12:38:14Araqkaushalmodi: fields/fieldPairs is very special in the compiler, we have to unroll the loop in the frontend and we likely got it wrong :P
12:39:16FromGitter<kaushalmodi> looks like I hit the nail on the head with that issue title
12:39:39FromGitter<kaushalmodi> I played with numerous `fmt`s in for loops and got confused what was special about looping through objects :P
12:39:58FromGitter<mratsim> it's not a loop
12:40:14*Minimisthupper joined #nim
12:40:20FromGitter<kaushalmodi> i mean iterating through values yielded by fields/fieldPairs
12:40:36FromGitter<mratsim> yeah, I mean what's special is that it's not a loop :p
12:41:01FromGitter<kaushalmodi> sorry, I am confused
12:41:13FromGitter<kaushalmodi> you mean that the `for` behaves differently for fields/fieldPairs?
12:41:16FromGitter<jrfondren> the fields are statically known so the loop is fully unrolled, yeah?
12:42:52FromGitter<kaushalmodi> so what is different that fields/fieldPairs doesn't work, while this works?: ⏎ ⏎ ```import strformat ⏎ for i in @[1, 2, 3]: ⏎ echo fmt"{i}"``` [https://gitter.im/nim-lang/Nim?at=5cb71f4ca4ef097471b2ea30]
12:43:27FromGitter<mratsim> in that case it's a real loop in the generated code
12:43:50*Minimisthupper quit (Client Quit)
12:43:51FromGitter<mratsim> in the other case, Nim inserts as many "echo" as the number of fields in your objects
12:44:13FromGitter<kaushalmodi> huh, really? TIL
12:44:45FromGitter<mratsim> And I'm pretty sure that the compiler then chokes on semantic type checking the formats
12:44:45FromGitter<kaushalmodi> so that whole `for key,val in foo.fieldPairs` is a special construct?
12:44:57FromGitter<mratsim> yes
12:45:35FromGitter<mratsim> key/val only exists at compile time and the types is a weird compile-time polymorphic stuff
12:45:40FromGitter<kaushalmodi> ok .. not sure how to note that down :P But for now I'll use fields/fieldPairs with caution
12:46:12FromGitter<mratsim> well it doesn't really cause problems in my experience, just hard to decipher error messages
12:47:11FromGitter<mratsim> also that means that if you want to test a condition on the keys, you need to use when to avoid type errors
12:47:31FromGitter<mratsim> like "when key is string:"
12:48:33FromGitter<kaushalmodi> Thanks for all that info
12:49:46narimirankaushalmodi: see this also https://github.com/nim-lang/Nim/issues/7533
12:50:06narimiran"Warning: This really transforms the 'for' and unrolls the loop. The current implementation also has a bug that affects symbol binding in the loop body."
12:51:01FromGitter<mratsim> wow the error message is even worse that what I met so far
12:51:32FromGitter<kaushalmodi> man, timotheecour is really missed here
12:51:53FromGitter<kaushalmodi> narimiran, Araq: you guys should finally strike up some truce with him
12:52:24livcdoh noes fmt goes away?
12:52:55FromGitter<kaushalmodi> narimiran: probably related to that system sub-module separation? cannot find `fieldPairs` in https://nim-lang.github.io/Nim/theindex.html
12:53:32FromGitter<kaushalmodi> looks that most of what I am looking for in system is missing from the devel docs
12:53:34FromGitter<kaushalmodi> :(
12:54:03narimiranyes, probably. look at iterators.nim:205 (and you'll see it is just a magic :))
12:54:36FromGitter<kaushalmodi> yes, I see that in stable docs: https://nim-lang.org/docs/system.html#fieldPairs.i%2CS%2CT
12:55:16nc-xAraq: https://github.com/nim-lang/Nim/issues/11050
12:55:20FromGitter<kaushalmodi> I had stopped using the stable docs for a while now .. can fixing the devel docs be bumped up in priority?
12:56:26Araqnc-x, 'method'?
12:56:35Araqbut ok
12:57:16nc-xAraq: it is part of some bigger code where method was required.
12:57:36nc-x(for dynamic dispatch)
12:57:45nc-xHere i just reduced the code to the minimum I could
12:59:47*nc-x quit (Quit: Page closed)
13:00:19FromGitter<mratsim> seems similar to the error message with methods and generic variant objects I get
13:00:39FromGitter<mratsim> in certain condition, the compiler tells me that a field deos not exist
13:05:24Araqnarimiran, yeah we need to fix the docs asap
13:06:17narimiranwe already tried to fix those system/xxx stuff and we failed. but i agree, we need to figure out something
13:19:34FromGitter<palash25> Hi there, I am looking for an http client library for nim and also the link to standard library docs
13:20:17narimiranpalash25 the docs are here: https://nim-lang.github.io/Nim/lib.html
13:21:31FromGitter<palash25> ah thanks 👍
13:27:05*i7sDream joined #nim
13:30:20FromGitter<liquid600pgm> do you think 64-bit instructions for register-based VMs are overkill?
13:31:11FromGitter<liquid600pgm> I'm not sure how to deal with the limit of only 256 registers being available because of bytecode limitations
13:31:45FromGitter<liquid600pgm> right now I'm considering byte-aligned arrangements, but I'm not quite sure if this is the perfect solution
13:32:20FromGitter<K155K155BAN6BAN6> hello, I noticed that nim participated in google summer of code a few years ago ⏎ will nim lang be participating in https://developers.google.com/season-of-docs/ as a mentoring organization this year?
13:34:21Araqnot sure, it always takes time to prepare it and in the end we're rejected anyway
13:34:43FromGitter<K155K155BAN6BAN6> was nim not selected for gsoc?
13:35:22FromGitter<liquid600pgm> I want to store locals in registers for the sake of efficiency in operations, but 256, including any required operands (which narrows down the number to about 200) feels like a pretty small value, especially with complex scripts
13:36:25FromGitter<liquid600pgm> 65536 feels way too overkill, though
13:36:25Araqliquid600pgm: we probably should use spilling in the VM but 200 locals is a pretty big number
13:37:26FromGitter<liquid600pgm> I'd never reach that many locals anyways, so I agree. what's spilling?
13:38:35AraqK155K155BAN6BAN6: in the past it wasn't.
13:38:39*i7sDream_ joined #nim
13:40:27FromGitter<liquid600pgm> nvm, looked it up, it's synonymous with register allocation
13:41:10FromGitter<liquid600pgm> for my VM, I'll be using a linear register allocator, for simplicity's sake
13:41:18*i7sDream quit (Ping timeout: 245 seconds)
13:42:53Araqno, "spilling" is what you do when you run out of registers
13:43:00FromGitter<mratsim> @K155K155BAN6BAN6 we didn't apply this year, there was a thread but not participation
13:44:35FromGitter<mratsim> @liquid600pgm original x86 only has 8 registers
13:44:42FromGitter<mratsim> and x86_64 16.
13:45:25FromGitter<jrfondren> those both have stacks though. Presumably a register VM is avoiding that
13:45:50FromGitter<mratsim> I nerver saw a register VM without a stack
13:46:40FromGitter<mratsim> I would suggest you to checkout RiscV5 for inspiration, it's RISC unlike x86 with its awful addressing modes.
13:47:01AraqNim's VM comes close to not offering a stack :P
13:47:24Araqwell you can only access 255 stack slots
13:47:33Araqand these are also called 'registers'
13:49:19FromGitter<mratsim> @liquid600pgm It doesn't make sense to try to store locals in "Nim registers" what you should aim for is to keep locals in the L1 cache of the actual CPU.
13:49:44Araqmratsim, no.
13:49:49Araqtotally different topics.
13:50:16FromGitter<mratsim> how so?
13:50:39FromGitter<mratsim> ah, he is talking at compile-time
14:07:33dom96K155K155BAN6BAN6: Nope, I tried to encourage someone to help us prepare for GSoC but it seems nobody stepped up https://forum.nim-lang.org/t/4529#28307
14:11:32*kapil____ joined #nim
14:13:01xacedom96: i wish i saw that post, i'm 1000% super interested
14:13:31dom96:/
14:14:06*floppydh quit (Quit: WeeChat 2.4)
14:15:17FromGitter<mratsim> Probably there should be something started during Hacktoberfest about projects to submit for GSoC
14:32:11*abm joined #nim
14:32:55xacewell ultimately i'd get involved in the nim compiler, but i haven't dipped my foot into it yet. but anything nim related would be intersting to me... I'd like to use nim in production too, but atm I'm a bit worried about that the code I write today does not work tomorrow...
14:34:12*i7sDream_ quit (Quit: WeeChat 2.4)
14:37:47*i7sDream joined #nim
14:39:25ZevvThings are in flux, but IMHO its no worse than any language these days. My 2.7 python code needs some love to get working in 3.5, and I don't even *dare* to touch C++ code from 10 years ago
14:40:02ZevvMy Nim code from more then a year ago still runs with some minor changes - I wouldn't be too worried about this
14:40:36xaceZevv: yeah, im considering c#... but i know its nim I want...
14:41:21ZevvThat's a choice only you can make - you pick whatever is right for you
14:41:29xaceZevv: yeah, but breakage in production is a no-no
14:41:52xaceyeah. im sticking to nim
14:41:53ZevvYou could try COBOL or ANSI C
14:42:00Zevvthese are pretty mature
14:42:41ZevvThere's no need to break stuff in production. You can just pick a Nim version and keep to that
14:42:46xacenah. ive grown keen to friction less programming
14:42:56ZevvThere is no runtime you can upgrade that breaks your code. Once you compiled your binary, it is compiled
14:46:16*nsf quit (Quit: WeeChat 2.4)
14:55:42xacei am aware of it. i was just voicing my concerns. that being said: ill continue using nim because i like the liberty it gives me to express myself ;-)
14:57:32Zevvsame here :)
14:58:50*bin_y joined #nim
15:01:09FromGitter<mratsim> Staying on a 0.19.X seems to work fine without breakage
15:01:19FromGitter<mratsim> with the backports
15:02:04FromGitter<mratsim> changing stable release might break stuff which should be fixable with the changelog. (stuff like not nil)
15:03:39Zevvnot nil has been my only breakage over a year and a half
15:07:03xacemratsim, yeah im a bit concerned about the new owned/disarm. i'd like to write my code to be future proof for owned/disarmed, but ill wait until nim stable adds it. I'm not 100% sure on how to use it either but I guess more info comes soon...
15:09:11FromGitter<mratsim> if you don't use pointers I wouldn't be worried, especially now that popular libraries are part of the anti regression test suite
15:11:09*fanta1 joined #nim
15:11:24*ryukoposting joined #nim
15:11:48ryukopostingany final decisions on this? https://github.com/nim-lang/packages/issues/1051
15:11:49xacemratsim, but doesn't it affect places where I use `var`?
15:12:06Zevvxace: no
15:12:34xacei need to re-read that RFC again :(
15:13:40FromGitter<mratsim> it only concerns ref objects for starters
15:13:51Araqryukoposting, good question
15:14:23ryukopostingit's not necessarily something that requires a PR, not sure exactly how nimbe's automated tests work
15:14:38Araqxace, it's way too early to worry about 'owned ref', we strive to make --newruntime the much better --gc:none option
15:17:11*lritter joined #nim
15:17:43xaceAraq, yes you are right. I have a personal library that runs on one of my servers, and I know that sometime in the future it's going to be affected. I'm not too stressed about it yet. But when it becomes a problem I will know better than I do today :)
15:20:00Araqhaving said that, --newruntime is amazing and the best thing since sliced bread and more Nim'ish than the old Nim.
15:21:49Araqdom96, can we enforce what ryukoposting suggests?
15:22:08xaceHaha, I sincererly hope so
15:23:11dom96Mostly happy with this, but let's not be too harsh on packages that don't have a tagged version at first
15:23:49AraqI'll add a 'koch tag' command :P
15:23:54FromGitter<mratsim> I think a 6 months deprecation period is fair
15:24:04Araqso that all my projects have consistent git tags
15:24:31xacemratsim: for which problem?
15:24:32ryukopostingI agree, no need to be draconian about it, but make sure something is there before it gets added to the package list
15:24:49FromGitter<mratsim> @xace for https://github.com/nim-lang/packages/issues/1051
15:26:24FromGitter<mratsim> Note that one reason we don't add tags in Status project if there is a single tag, there is no way to ask nimble to always use the latest commit
15:26:46ryukoposting#head?
15:26:47FromGitter<mratsim> well in the end we are currently using make + git submodules
15:27:07FromGitter<mratsim> #head conflicts with nimble develop iirc
15:27:20FromGitter<mratsim> ugh, gitter formatting :/
15:27:45ryukopostingidk what formatting you're seeing but irssi definitely isn't showing it lol
15:28:07FromGitter<mratsim> I see it has "header"/bold
15:28:13ryukopostinglmao
15:28:25FromGitter<mratsim> "#head conflicts with nimble develop iirc"
15:28:35Araqmratsim: Any idea if/how the owned refs would work with the Nimbus graph? (Is it a Merkle tree?)
15:30:33FromGitter<mratsim> If you can implement a tree/trie merkle trees won't have an issue: https://github.com/status-im/nim-eth/blob/master/eth/trie/binary.nim
15:30:37xaceRegarding community nimble packages, how would you feel about a "verified", "reviewed" or "votes" flag to indicate a quality standard over a package? I've run into packages who advertise certain functionality, but in reality turns out to be hacks that do not support full functionality... Or is it too much?
15:30:41FromGitter<mratsim> I'm more worried about the async/closures
15:31:54Araqwell we're about to test async/closures in the upcoming weeks
15:32:06AraqI also consider this the most problematic use case
15:32:13ryukopostingI'd rather avoid a voting system for most things but for a package repo site like nimble.directory, I think it'd be great
15:32:27Araqas far as I've been able to analyse it, it would work though
15:32:31*chickendan quit (Quit: Quit)
15:32:49Araqof course I also have a plan B for it ;-)
15:34:04xaceOh thats true, nimble.directory could be a seperate entity for such things
15:34:32Araqsee you later
15:36:04ryukopostingan easy stop-gap for now would be just looking at repos submitted to nimble, since the PRs it uses to add stuff to the package list have to get accepted manually
15:41:49FromGitter<K155K155BAN6BAN6> > *<dom96>* @K155K155BAN6BAN6: Nope, I tried to encourage someone to help us prepare for GSoC but it seems nobody stepped up https://forum.nim-lang.org/t/4529#28307 ⏎ ⏎ ah thats too bad.
15:43:48dom96mratsim: Why wouldn't it conflict? `develop` means "let me use my latest version locally" which is always #head
15:44:10dom96okay, perhaps not always, but most of the time :P
15:44:51dom96Yeah, you're right, I can see that being a problem lol
15:45:14*rnrwashere joined #nim
15:45:21dom96Technically not hard to resolve though, just needs a good design
15:45:33dom96I used #head because it seemed like the simplest choice at the time
15:45:58shashlick@dom96 - i make a PR against a nimble-test package
15:46:09shashlickwill help nimble to test against devel
15:47:16shashlickanyone else have any clue why travis doesn't show any logs and randomly fails on osx - https://travis-ci.org/genotrance/nimble/jobs/521014520
15:47:34shashlickall tests pass on my local machine but travis is being a jerk
15:47:54*rnrwashere quit (Remote host closed the connection)
15:48:34shashlicktried all sorts of variations, here's another one - https://travis-ci.org/genotrance/nimble/jobs/521037449
15:48:46*rnrwashere joined #nim
15:50:02FromGitter<mratsim> @dom96, when you do nimble install, you might get in your nimble packages foo@#master foo@#head foo@#0.1.0 and you don't know which version is loaded
15:51:51*fanta1 quit (Quit: fanta1)
15:54:04*rnrwashere quit (Remote host closed the connection)
15:54:27shashlickcan someone on OSX run a quick test for me please?
15:54:52ryukopostingmratsim that's a good point, imo it should default to latest stable release, then go to head if tehre's no tag
15:54:54*rnrwashere joined #nim
15:55:10ryukopostingshashlick I don't have a machine running OSX, sorry man
15:55:14shashlick```
15:55:15shashlickgit clone --single-branch --branch nocompiler https://github.com/genotrance/nimble nimble-nocompiler
15:55:16shashlickcd nimble-nocompiler && nimble test && cd ..
15:55:17shashlick```
15:55:32shashlickthanks in advancce
15:57:13FromGitter<mratsim> @ryukoposting, nimble install works like that, latest tag by default and master otherwise
15:57:20FromGitter<mratsim> head is the override for nimble develop AFAIK
15:57:52FromGitter<mratsim> the issu e is that when you do nimble test, you don't know
15:58:44ryukopostingooooh shoot yeah
15:59:19*bin_y quit (Ping timeout: 256 seconds)
15:59:42*rnrwashere quit (Remote host closed the connection)
15:59:53ryukopostingcould probably just make it behave like install, but idk
16:00:29*ryukoposting quit (Quit: Lost terminal)
16:01:50*al_ joined #nim
16:02:42shashlickwill be great if that nocompiler test can be run on linux/windows as well
16:03:16*rnrwashere joined #nim
16:03:39*rnrwashere quit (Remote host closed the connection)
16:03:47WilhelmVonWeinerso I was looking at the `parsecsv` module and wanted to use it to parse tsv
16:04:08WilhelmVonWeinerhttps://github.com/nim-lang/Nim/blob/master/lib/pure/parsecsv.nim#L55
16:06:01*anxion joined #nim
16:06:01WilhelmVonWeinerbut if you change the seperator in `open` there's an error about conflicting types? https://hastebin.com/deragexoga.bash
16:06:09*rnrwashere joined #nim
16:07:54*jasper joined #nim
16:09:06*xet7 quit (Quit: Leaving)
16:09:37jasperWilhelmVonWeiner: It expects a char not a string, "x" is different from 'x' unlike python/js/etc.
16:10:28*xet7 joined #nim
16:10:55WilhelmVonWeinerThanks a ton. I was letting the similarities with python override r-ing tfm I suppose
16:13:51*xet7 quit (Client Quit)
16:15:46*xet7 joined #nim
16:18:52*xet7 quit (Client Quit)
16:21:57*rnrwashere quit (Remote host closed the connection)
16:27:18*oculuxe quit (Ping timeout: 255 seconds)
16:27:30*xet7 joined #nim
16:28:19*oculux joined #nim
16:31:59*rnrwashere joined #nim
16:43:34*xet7 quit (Quit: Leaving)
16:44:50*xet7 joined #nim
16:46:14*rnrwashere quit (Remote host closed the connection)
16:46:58*rnrwashere joined #nim
16:47:56*xet7 quit (Client Quit)
16:49:07*xet7 joined #nim
16:52:49*Trustable joined #nim
16:59:31*rnrwashere quit (Remote host closed the connection)
17:00:04*rnrwashere joined #nim
17:01:00*rnrwashere quit (Read error: Connection reset by peer)
17:01:15*rnrwashere joined #nim
17:10:22*nsf joined #nim
17:11:49*Trustable quit (Remote host closed the connection)
17:15:33*jasper quit (Quit: Page closed)
17:19:15*neceve quit (Read error: Connection reset by peer)
17:23:18*xet7 quit (Quit: Leaving)
17:24:54*xet7 joined #nim
17:25:24*rnrwashere quit (Remote host closed the connection)
17:34:34*enthus1ast joined #nim
17:34:49enthus1asthi
17:35:12enthus1astdo you have used nim to authenticate against an ldap (ads) server?
17:37:07*xet7 quit (Quit: Leaving)
17:40:00*xet7 joined #nim
17:46:30*jjido joined #nim
17:55:08*iLiquid joined #nim
17:57:11*iLiquid quit (Client Quit)
18:04:47*Jesin quit (Quit: Leaving)
18:04:55*anxion left #nim (#nim)
18:08:25*Jesin joined #nim
18:16:09*iLiquid joined #nim
18:17:50*iLiquid quit (Client Quit)
18:18:43*i7sDream quit (Quit: WeeChat 2.4)
18:19:09*i7sDream joined #nim
18:20:25*enthus1ast quit (Ping timeout: 256 seconds)
18:21:07*kapil____ quit (Quit: Connection closed for inactivity)
18:24:17*nsf quit (Quit: WeeChat 2.4)
18:36:35*clyybber joined #nim
18:38:48*i7sDream quit (Ping timeout: 245 seconds)
18:43:02*zyklon joined #nim
18:44:39*uvegbot quit (Ping timeout: 252 seconds)
18:45:41*rnrwashere joined #nim
19:21:54shashlickare important packages being tested in CI? i don't see anything in the logs
19:23:06Araqhttps://ci.appveyor.com/project/dom96/nim/builds/23919068/job/b5yko048mjtkvb9l/tests
19:23:38*gangstacat quit (Quit: Ĝis!)
19:24:34narimiranthe fuck? i broke my own package with something i don't even use there?
19:24:51*Vladar quit (Remote host closed the connection)
19:25:00shashlicki'm getting mixed results testing nimble nocompiler with devel, so not sure if i've broken something or they don't run in genereal
19:25:20narimirannope, it isn't me - it is broken in devel too
19:25:34Araqmy commit?
19:25:54narimiranyes, one from 4 hours ago
19:26:20shashlickso packages are only being tested on Windows?
19:26:26narimiranshashlick: yep
19:26:59shashlickokay then i'll test there, instead of linux and osx where i'm seeing random failures
19:27:34narimiranit is strange to see (only) my package broken, since it is quite simple - i would expect if it breaks there should be at least several others too
19:28:23Araqtravis is red too
19:29:08Araqbin/nim doc --hint[Conf]:off --hint[Path]:off --hint[Processing]:off -d:boot --putenv:nimversion=0.19.9 --git.commit:devel -o:web/upload/0.19.9/docgen_sample.html doc/docgen_sample.nim
19:29:08AraqSIGSEGV: Illegal storage access.
19:29:12Araqouch
19:30:15narimiranjust tested it locally. compiling my package still works, but making documentation (and that is what is tested) fails with sigsegv
19:32:12Araqok, other docs are also affected
19:33:48*I_Right_I joined #nim
19:38:54Araqfixed
19:43:39narimirangreat! i think i don't have to restart the tests for my PR then? (only that one was failing)
19:46:59shashlickAraq: I fixed the issue from the morning
19:48:06shashlicknow some tests fail since child processes just sit around - not sure if issue is in this code (https://github.com/genotrance/nimble/blob/nocompiler/src/nimblepkg/nimscriptwrapper.nim#L28) or nimscript exec
19:54:00*gangstacat joined #nim
19:56:28Araqah the joys of interprocess communication
19:56:37Araqnarimiran, you need to rebase your PR
19:57:22Araqshashlick, better use one of the higher level procs in osproc
19:57:52Araqif you wait for the exit anyway use execProcess
19:59:00shashlickBut I need the output real time
19:59:03*narimiran quit (Ping timeout: 246 seconds)
19:59:51Araqah too bad
20:00:07Araquse poInteractive for the options
20:00:36*narimiran joined #nim
20:02:44*zyklon quit (Ping timeout: 250 seconds)
20:02:50I_Right_Ishashlick: I reinstalled nim 0.19.4 and this example still doesn't compile --> https://nim-lang.github.io/Nim/random.html#basic-usage
20:03:17Araqgithub.io is for Nim devel, not 0.19.4
20:03:59I_Right_Ishashlick told me it should work
20:04:29Araqok, well what doesn't work?
20:04:34Araqthe "Basic usage" seems fine
20:04:53I_Right_Ione sec
20:05:05I_Right_Irnd.nim(18, 12) Error: undeclared identifier: 'sample'
20:05:19I_Right_Ibut it works for devel
20:05:22Araqsample is new in devel
20:05:34I_Right_IThats what I thought
20:05:50*dandevelo joined #nim
20:06:38narimiranAraq: no need for rebasing - we didn't touch the same stuff. i'll restart the tests, it should pick up the latest devel changes
20:07:24I_Right_I--- my trust in shashlick has gone down 18%
20:08:32narimiranI_Right_I: don't touch shashlick! restore back that trust immediately!
20:09:01*lritter quit (Remote host closed the connection)
20:10:15*zyklon joined #nim
20:10:18I_Right_Ilol....okay I guess I have to let it slide
20:10:32I_Right_I--- trust restored!
20:14:17shashlickokay not sure what's going on here 🙂
20:15:51I_Right_Ioops, it was rayman22201 that told me that
20:16:04I_Right_Inot shashlick
20:16:30narimiranstill the same warning - keep the trust leve!
20:16:33I_Right_I--- trust in I_Right_I down 50%
20:16:48*narimiran will accept that
20:18:32shashlickwhew
20:20:11*dandevelo quit (Quit: Textual IRC Client: www.textualapp.com)
20:21:07rayman22201So the docs are wrong for stable random then
20:21:42rayman22201Because I checked both and sample is in the stable docs as well
20:23:27narimiranI_Right_I: the basic usage example works for me for nim devel, 0.19.4, and 0.19.0
20:23:45narimiran--- trust in I_Right_I down 37% more
20:25:00rayman22201Lol
20:25:36I_Right_IAm I the only one with this problem?
20:26:08I_Right_Inarimran do you use choosenim
20:26:32narimiranI_Right_I: what is the output of `nim -v`? i.e. are you sure you are on 0.*19*.4?
20:27:12rayman22201Shashlick do you not need a Mac anymore? I can borrow my wife's MacBook for a bit if needed.
20:27:42shashlickthat will be great if you could
20:28:06shashlickwin/lin/osx - any test will be good to know
20:28:09I_Right_Ihttps://pastebin.com/rrqPsGPD
20:29:58narimiranI_Right_I: ok, same here. and i just copy-pasted the example and it works. maybe you changed something?
20:30:11*hoijui joined #nim
20:30:25rayman22201@shashlick Ok. Sure. I'll give it a shot then.
20:31:30I_Right_Inarimiran: I'll look into it and get back with you.
20:33:42xaceI_Right_I: what is it that isn't working?
20:35:12*jasper joined #nim
20:35:16*i7sDream joined #nim
20:36:36I_Right_Ixace: nim stable doesn't compile the basic usage example in random module.
20:36:59I_Right_IBut apparently its does for everyone else
20:38:16*iLiquid joined #nim
20:39:06I_Right_II installed with choosenim and use choosenim to switch back and forth.
20:39:25*i7sDream quit (Ping timeout: 246 seconds)
20:39:50narimiranI_Right_I: when you switch to other versions, e.g. devel, does it work then?
20:40:36I_Right_Iyeah 'choosenim devel' compiles it fine.
20:40:43xaceI_Right_I: well on v 0.19.4 sample() doens't exist so that is a problem...
20:41:25*iLiquid quit (Client Quit)
20:41:27I_Right_Iwell narimiran said he tried it and it worked
20:42:28narimiranI_Right_I: well, maybe you should lower your trust levels in me ;) because i half-assed it
20:42:44xacewell I am explicitly telling you: v0.19.4 doesn't have `random.sample()` # you have likely misunderstood the instructions
20:43:05xaceor some miscommunications has happened
20:43:20narimiranwhen i not just use nim-0194, but also switch to 0.19 branch of stdlib (which i didn't do the first time), i get: "Error: undeclared identifier: 'sample'"
20:43:32narimiranand that is what xace is talking about
20:44:36*krux02 quit (Remote host closed the connection)
20:44:52narimiranand, btw, stable docs (https://nim-lang.org/docs/random.html) don't contain that example at all
20:45:17narimiranand, as already mentioned, there is no 'sample'
20:46:33I_Right_Iwe are good.
20:46:35FromGitter<jrfondren> https://nim-lang.github.io/Nim/random.html has this example ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cb790abb489bb6ed77e7324]
20:46:47FromGitter<jrfondren> which fails for me, for above reasons
20:46:58narimiranjrfondren that link is for devel docs
20:47:15FromGitter<jrfondren> how can you even tell?
20:47:31narimirani can tell it by the url ;)
20:47:49FromGitter<jrfondren> go nim-lang.org, click documentation at the top, then standard library, ctrl-F random, and you're at docs that disagree with the release version
20:48:16narimirandevel docs are preferred to use, because the docs are greatly improved (see https://github.com/nim-lang/Nim/issues/10330), but sometimes it will lead to this kind of discrepancy between stable and devel
20:48:20FromGitter<jrfondren> with no devel banners that I see
20:48:54narimiranjrfondren this will change once 0.20 is out (and that should be soon), for now we redirect to devel docs because of the above reasons
20:49:11FromGitter<jrfondren> ah, I guess someone said they were good enough and replaced the normal links. On the documentation.html page there's a "bleeding edge docs" link at the bottom, that's now not so different.
20:50:08narimiranit is better to have nicer more informative docs (devel) which will be ok 95% of time for users on 0.19.4, then to have 100% correct docs that are poorly written
20:51:34FromGitter<jrfondren> it's still better to be clear about this so that people can say "huh this doesn't work, oh it says devel up there and links to older docs. oh yeah that works". or have a version toggle that defaults to devel but can be set back in time.
20:52:31narimiranhttps://nim-lang.org/documentation.html click on 'Standard Library'
20:52:39narimiranAuthor: Andreas Rumpf; Version: 0.19.9
20:53:13FromGitter<jrfondren> that's subtle. and how would I find stable documentation from there?
20:53:21narimiranyou ask on irc
20:53:32FromGitter<jrfondren> like the < deprecation warnings (which aren't so bad because the code still works), this the kind of problem that's not a problem at all if you're engaged in the community.
20:53:34Araqyeah... :-/
20:53:35FromGitter<jrfondren> as you just suggested.
20:53:59Araq0.20 is overdue
20:54:06FromGitter<jrfondren> but new people are just going to conclude, eh this broken, I guess it's not ready yet. Anyway I won't harp on about it.
20:54:36FromGitter<kayabaNerve> I need features in 0.19 devel, but like keeping my project on stable. Can't wait for 0.20 :d
20:54:42narimiranthe "correct" documentation is even more "broken" (aka less useful), trust me
20:57:22I_Right_II like the changes made with the 0.19.9 docs
20:57:40narimiranreally a lot of work has been done in https://github.com/nim-lang/Nim/issues/10330 (and a bit more is needed - any help is welcome)
20:58:41*mosORadi joined #nim
21:03:56*[rg] joined #nim
21:04:16*narimiran quit (Ping timeout: 250 seconds)
21:05:35*rnrwashere quit (Remote host closed the connection)
21:06:43*al_ quit (Quit: al_)
21:09:25*rnrwashere joined #nim
21:09:39*rnrwashere quit (Remote host closed the connection)
21:09:52ZevvI had such good plans for helping out with the docs. I started a few times, but never managed to finish anything :(
21:10:17*rnrwashere joined #nim
21:10:40ZevvTo quote PMunch from the other day: "and then life happened"
21:10:42dom96we should definitely get a banner that states the version of the docs that people are seeing
21:10:57dom96it would even be pretty easy to implement...
21:11:18dom96jrfondren: please consider contributing this :)
21:11:32FromGitter<jrfondren> I see what you mean about the docs though. it really helps wot have stuff like the enum links in https://i.imgur.com/dRNO9Gj.png
21:12:01FromGitter<jrfondren> sure, I'll look into it
21:12:46dom96If you need ideas of how to do it I'm happy to give suggestions
21:13:43*solitudesf quit (Ping timeout: 246 seconds)
21:14:54*rnrwashere quit (Ping timeout: 268 seconds)
21:27:03*hoijui quit (Ping timeout: 264 seconds)
21:28:26*rnrwashere joined #nim
21:29:41*jasper quit (Ping timeout: 256 seconds)
21:31:35I_Right_Inarimiran: right now my big project is learning nim, and like alot of people when I have the time to do so.
21:31:41FromGitter<jrfondren> rather than a banner, if it was known when features were added (by a note in the inline documentation, or by reference to a big release changelog), then when docs are built a little warning could be added to pre-release features. I feel like frozen in time versioned docs are the more professional option, but that's also less useful, especially with the updates coming in.
21:33:29*rnrwashere quit (Ping timeout: 268 seconds)
21:34:35*rnrwashere joined #nim
21:42:24shashlickimport ospaths no longer works
21:43:57shashlick\nimdevel\lib\pure\includes\oserr.nim(4, 10) Error: This is an include file for os.nim!
21:48:09shashlicki believe this is on windows, works on linux
21:55:30*rnrwashere quit (Remote host closed the connection)
22:05:09dom96jrfondren: that's sounds like a lot of work
22:05:21clyybberWhat is the *right* way to update a nimble #head pkg?
22:05:38clyybberTill now i just uninstalled and reinstalled it.
22:05:45dom96clyybber, nimble install pkg@#head
22:05:58clyybberdom96: Thanks :)
22:06:08shashlicki think i'm done! https://travis-ci.org/genotrance/nimble/builds/521460937
22:07:00clyybbershashlick: Nice \o/
22:10:28*rockcavera quit (Ping timeout: 245 seconds)
22:12:27shashlicknimble CI now tests across stable and devel, lin and osx
22:12:58clyybberAraq: Is RTTI already removed when using --newruntime?
22:14:10rayman22201shashlick how did you get mac on Travis working?
22:14:32*rnrwashere joined #nim
22:14:39shashlickNo idea 😄
22:14:57rayman22201lol
22:15:36shashlickNothing worth mention at least
22:15:43shashlickBut hey it works
22:16:08shashlickUsed the nimterop yml as a base while adding devel
22:16:23FromGitter<deech> Dumb question but what is the essential difference between `const foo = ...` and `let foo {.compileTIme.} = ...`? Is it that `const` is available at runtime and `let ... {.compileTime.} is not?
22:18:41*rnrwashere quit (Ping timeout: 246 seconds)
22:19:35rayman22201are you planning to add windows next shashlick?
22:21:07*deech joined #nim
22:21:57*deech quit (Remote host closed the connection)
22:22:27FromGitter<timotheecour> i found a zero-day vulnerability in jester (and have a PR ready to fix it), are there any services using jester that are sensitive?
22:22:32FromGitter<timotheecour> /cc @dom96
22:23:17rayman22201@deech I think you could do `const foo {.compileTime.} = ...` it's the `{.compileTime.}` pragma that makes a thing compile time only
22:24:40*deech joined #nim
22:25:00deechrayman22201: I didn't know you could do that. That's pretty confusing.
22:25:04FromGitter<dom96> @timotheecour yes, pm me
22:28:32clyybberHi timothee
22:28:45deechUnderstanding the interaction of `const` and compile time calculations is really throwing me for a loop. Once the bugs are between the two are ironed out a full write in the manual is probably a good idea. I'll even volunteer to do it.
22:29:28FromGitter<timotheecour> hi @clybber :)
22:34:36*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:40:02*deech quit (Ping timeout: 250 seconds)
22:49:40rayman22201@deech. Are there bugs? `const` is about symbol binding, and compile time is about when code runs. They are orthogonal concepts.
22:51:12rayman22201The devel docs fibonnacci example explains it well I think: https://nim-lang.github.io/Nim/manual.html#constants-and-constant-expressions
22:52:16FromDiscord<j$> okay, so is anyone having issues with nimpcre installing??
22:53:54FromDiscord<j$> when using nimble build it creates a nimpcre folder in my user folder, instead of .nimble
22:57:11rayman22201@shashlick ping. Can you help j$?
22:58:05FromDiscord<j$> I switched from choosenim back to regular install and it does the same thing
22:58:07FromDiscord<j$> so
22:58:11FromDiscord<j$> Im going back
22:59:39xacej$ linux or windows? How did you install nim?
23:00:02FromDiscord<j$> windows,
23:00:20FromDiscord<j$> I have done both choose nim a the other instructions on the site
23:00:26FromDiscord<j$> same thing happens
23:00:39FromDiscord<j$> I just changed back to choosenim
23:04:57*stefanos82 quit (Remote host closed the connection)
23:08:25*mosORadi quit (Quit: Connection closed for inactivity)
23:08:31*clyybber quit (Quit: WeeChat 2.4)
23:12:46*[rg] left #nim (#nim)
23:12:50*a_b_m joined #nim
23:16:21*abm quit (Ping timeout: 255 seconds)
23:18:46xacej$: haven't used windows for 12 years. but i read through nimble src quickly. by default it seems to be set as "getHomeDIr()/.nimble" unless you are using --nimbledir or a environment variable NIMBLE_DIR or the config "getConfigDir()/nimble/nimble.ini"
23:22:00shashlickHey j$ I'm on the move now
23:22:06shashlickI'll take a look in a bit
23:22:28shashlickI need to port nimpcre to nimterop if possible
23:25:09FromDiscord<j$> so I don't know enough to contribute really, but every time I try to install nimpcre, it creates an empty folder nimpcre in my user dir
23:25:50FromDiscord<j$> this time the install says successful, but theres an empty nimpcre folder in the nimpcre package
23:26:41FromDiscord<j$> Error: cannot open file: nimpcre/pcre
23:26:47FromDiscord<j$> that's all I got
23:26:54FromDiscord<j$> info wise
23:28:50*rnrwashere joined #nim
23:32:24rayman22201@j$ I just setup a fresh nim with choosenim and tried installing nimpcre with nimble. devel fails on c2nim because the nil-string breaking change.
23:32:43rayman22201C:\Users\ray\.nimble\pkgs\compiler-#head\compiler\ropes.nim(78, 29) Error: type mismatch: got <nil> but expected 'string'
23:32:53*rnrwashere quit (Ping timeout: 246 seconds)
23:33:24rayman22201I'm switching to 0.19.4 (stable) and trying again.
23:34:42rayman22201It's funny. I have a windows machine, but I spend all my time on linux virtual machines or sshed into linux machines, so I don't actually use it very often.
23:34:53rayman22201every once and a while it comes in handy
23:36:01rayman22201same error on 0.19.4
23:36:27FromDiscord<j$> ok so I should just add the dll for now?
23:39:39rayman22201question for you j$, do you have a `.nimble\pkgs\compiler-#head` directory in your `.nimble` directory?
23:40:24FromDiscord<j$> no atm
23:40:28FromDiscord<j$> just re installed nim
23:40:46rayman22201what packages do you have in in your .nimble directory?
23:41:21FromDiscord<j$> docopt, regex, sdl2_nim, unicodedb, unicodeplus
23:41:27rayman22201I removed `compiler-#head` and everything installed perfectly for me using 0.19.4
23:41:35FromDiscord<j$> ill go agaion
23:42:26FromDiscord<j$> failed to install
23:43:02FromDiscord<j$> build failed for [email protected]
23:43:16rayman22201what is the error?
23:43:23FromDiscord<j$> well actually
23:43:28rayman22201and what version of nim?
23:43:37FromDiscord<j$> Build failed for package: c2nim
23:44:19FromDiscord<j$> I think my nim install is broken
23:44:23FromDiscord<j$> gimme a sec
23:44:36rayman22201there should be a bunch of output with `Hint:...` and then an actual error at the bottom
23:44:39rayman22201ok, np
23:46:18FromDiscord<j$> so is choosenim bad?
23:46:59FromDiscord<j$> also
23:47:00FromDiscord<j$> Error: invocation of external compiler program failed. The system cannot find the file specified.
23:47:00FromDiscord<j$> ... ; Additional info: "Requested command not found: \'gcc.exe -c -w -mno-ms-bitfields -DWIN32_LEAN_AND_MEAN -O3 -fno-strict-aliasing -ID:\\dev\\library\\nim-0.19.4\\lib -o C:\\Users\\jds\\nimcache\\c2nim_r\\c2nim_c2nim.c.o C:\\Users\\jds\\nimcache\\c2nim_r\\c2nim_c2nim.c\'. OS error:" 2
23:47:00FromDiscord<j$> stack trace: (most recent call last)
23:47:03FromDiscord<j$> C:\Users\jds\AppData\Local\Temp\nimble_8696\githubcom_genotrancenimpcre\nimpcre.nimble(27) installBefore
23:47:04FromDiscord<j$> D:\dev\library\nim-0.19.4\lib\system\nimscript.nim(237) setupTask
23:47:07FromDiscord<j$> D:\dev\library\nim-0.19.4\lib\system\nimscript.nim(237, 7) Error: unhandled exception: FAILED: nimble install nimgen -y
23:48:06FromDiscord<j$> this is the same error when trying to compile a program of mine so I think my install in broken
23:50:24rayman22201wow. that is super broken
23:50:37rayman22201#leasthelpfulresponse
23:50:43FromDiscord<j$> yeah im reinstalling now
23:51:27rayman22201does mingw work for you? can you run "gcc.exe -v" ?
23:52:13*a__b__m joined #nim
23:52:57rayman22201This is tangential to your problem, but I am pretty sure there is a bug with choosenim and nimble. I think choosenim does not handle changing the nimble version correctly.
23:54:31xacerayman22201: from the windows machines i have installed nim on using choosenim, they all had issues. usually regarding not setting the PATH variable correctly and sometimes managing to forget where it is stored... unfortunately i rarely have access to windows machines
23:55:43FromDiscord<j$> okay install nimpcre rn
23:55:44*a__b__m quit (Client Quit)
23:55:46*a_b_m quit (Ping timeout: 246 seconds)
23:56:02FromDiscord<j$> so it says success
23:56:05FromDiscord<j$> but
23:56:13FromDiscord<j$> the application wont compile
23:56:29xaceany error?
23:56:56xacenimpcre wants -d:usePcreHeader iirc, and that you import nimpcre before re I guess
23:57:11FromDiscord<j$> Error: cannot open file: nimpcre/pcre
23:57:54rayman22201does `.nimble/pkgs/nimpcre/pcre` exist?
23:58:44FromDiscord<j$> no but `.nimble/pkgs/nimpcre/nimpcre` does
23:58:46FromDiscord<j$> but
23:58:50FromDiscord<j$> there's nothing in it
23:59:09FromDiscord<j$> and a nimpcre folder in my user dir
23:59:15shashlickUsual nimble challenges with before install
23:59:18FromDiscord<j$> also nothing in it
23:59:29shashlickCan you git clone
23:59:35rayman22201ah. yup. I get the same problem
23:59:36shashlickThen nimble setup
23:59:43shashlickThen nimble install