00:02:11 | * | rnrwashere quit (Ping timeout: 250 seconds) |
00:23:00 | * | endragor joined #nim |
00:32:05 | * | vlad1777d quit (Ping timeout: 246 seconds) |
00:32:42 | * | noeontheend quit (Ping timeout: 252 seconds) |
00:37:10 | * | rnrwashere joined #nim |
00:42:50 | * | vlad1777d joined #nim |
00:56:38 | clyybber | gn8 |
00:56:48 | * | clyybber quit (Quit: WeeChat 2.4) |
01:04:32 | * | theelous3_ quit (Ping timeout: 250 seconds) |
01:31:52 | * | sealmove quit (Quit: WeeChat 2.4) |
01:51:10 | FromDiscord | <xbnary> hello |
01:51:13 | FromDiscord | <xbnary> am new here |
01:51:22 | FromDiscord | <xbnary> wanna learn programmng |
01:51:29 | FromDiscord | <xbnary> am a newbe |
01:53:21 | * | endragor quit (Remote host closed the connection) |
01:57:34 | * | endragor joined #nim |
02:03:50 | * | endragor quit (Remote host closed the connection) |
02:31:53 | * | endragor joined #nim |
02:36:37 | * | endragor quit (Ping timeout: 255 seconds) |
02:48:38 | * | noeontheend joined #nim |
02:56:44 | shashlick | welcome xbnary |
03:05:46 | * | banc quit (Quit: Bye) |
03:21:43 | * | vlad1777d quit (Ping timeout: 245 seconds) |
03:26:10 | * | lritter quit (Ping timeout: 246 seconds) |
03:27:08 | * | banc joined #nim |
03:29:23 | * | dddddd quit (Remote host closed the connection) |
03:41:55 | * | endragor joined #nim |
03:43:06 | * | noeontheend quit (Ping timeout: 264 seconds) |
03:43:16 | * | rockcavera joined #nim |
03:46:39 | * | rnrwashere quit (Remote host closed the connection) |
03:58:11 | * | noeontheend joined #nim |
04:12:28 | * | rnrwashere joined #nim |
04:12:40 | * | rnrwashere quit (Remote host closed the connection) |
04:13:29 | * | rnrwashere joined #nim |
04:14:23 | * | noeontheend quit (Ping timeout: 250 seconds) |
04:17:14 | * | a_chou joined #nim |
04:17:54 | * | a_chou quit (Client Quit) |
04:20:12 | * | endragor quit (Remote host closed the connection) |
04:22:47 | * | chemist69 quit (Ping timeout: 252 seconds) |
04:24:47 | * | chemist69 joined #nim |
04:38:16 | * | endragor joined #nim |
04:42:41 | * | endragor quit (Ping timeout: 246 seconds) |
05:12:10 | * | rnrwashere quit (Remote host closed the connection) |
05:13:57 | * | nsf joined #nim |
05:44:16 | * | sealmove joined #nim |
05:45:51 | sealmove | good morning |
05:53:21 | * | rayman22201 joined #nim |
06:20:17 | * | MightyJoe joined #nim |
06:20:19 | Zevv | hi there |
06:20:23 | * | cyraxjoe quit (Read error: No route to host) |
06:39:19 | sealmove | have you guys heard about Red lang? |
06:39:43 | * | solitudesf joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:28 | * | gmpreussner joined #nim |
07:11:17 | * | sealmove quit (Quit: WeeChat 2.4) |
07:12:15 | FromDiscord | <MoNLeW> Np |
07:12:17 | FromDiscord | <MoNLeW> No |
07:12:21 | FromDiscord | <MoNLeW> Am wllng to learn |
07:12:29 | FromDiscord | <MoNLeW> have no dea of whow to start |
07:15:37 | FromGitter | <xmonader> Good morning |
07:15:53 | FromGitter | <xmonader> @sealmove yes, rebol compatible one right? |
07:24:59 | * | narimiran joined #nim |
08:02:28 | * | Trustable joined #nim |
08:04:21 | * | tefter joined #nim |
08:08:39 | * | vlad1777d joined #nim |
08:22:48 | * | nsf quit (Quit: WeeChat 2.4) |
08:31:11 | * | sealmove joined #nim |
08:39:11 | * | sealmove quit (Quit: WeeChat 2.4) |
08:39:32 | * | sealmove joined #nim |
08:39:59 | * | Trustable quit (Remote host closed the connection) |
08:59:32 | FromGitter | <BaldEagleX02> We should create a Nim community for IoT, embedded devices and microcontrollers |
09:02:17 | * | sealmove quit (Quit: WeeChat 2.4) |
09:05:50 | FromGitter | <BaldEagleX02> Because, as @dom96 wrote in his excellent Nim book, ⏎ ⏎ > Internet of Things (IoT) devices [...] are good targets for Nim, primarily thanks to the power offered by Nim’s ease of use and its systems programming capabilities. |
09:17:50 | Zevv | The other day I heard that the 'S' in "IoT" stands for "Security" |
09:34:53 | FromGitter | <kristianmandrup> Trying to get started with `nim` on Mac OSX |
09:35:00 | FromGitter | <kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8e14c48aa66959b62415dd] |
09:35:38 | FromGitter | <kristianmandrup> Created a project using nimble, trying to compile and run generated file in `src` |
09:35:48 | FromGitter | <kristianmandrup> Note that I was able to run tests using `nimble test` |
09:36:44 | FromGitter | <kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8e152c3dd8171149050286] |
09:37:23 | narimiran | what happens if you only do `nim ./src/nim_flyd.nim`? |
09:37:31 | narimiran | sorry, `nim c ./src/nim_flyd.nim` |
09:38:01 | FromGitter | <kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8e1579f3dbbd230c6d6859] |
09:38:08 | FromGitter | <kristianmandrup> I'm using Fish shell |
09:38:11 | leorize | is `/Users/kristianmandrup/repos/nim-projects/nim_flyd/src/nim_flyd` a folder? |
09:38:17 | narimiran | do you maybe have a folder `./src/nim_flyd/`? |
09:39:34 | FromGitter | <kristianmandrup> yes, `nimble init` apparently created a `src/nim_flyd` subfolder with `submodule.nim` inside |
09:39:43 | FromGitter | <kristianmandrup> I can see the problem there! Good catch! |
09:40:13 | narimiran | ok, use `-o:"something_else"` when compiling and see if it fixes the problem |
09:40:19 | FromGitter | <kristianmandrup> renamed the subfolder so it doesn't conflict when compiling. Problem solved :) |
09:40:40 | leorize | you could just remove that subfolder if you don't use it :P |
09:40:43 | FromGitter | <kristianmandrup> yeah, how do I compile all the files in `src` to a `dist` folder? |
09:41:05 | narimiran | this name clash happens way too often with nimble packages :( |
09:41:16 | FromGitter | <kristianmandrup> I know there is a `nimble build` but it tells me nothing to compile |
09:41:25 | FromGitter | <kristianmandrup> or build rather |
09:41:34 | leorize | you have to add the target binaries to the .nimble file |
09:41:43 | FromGitter | <SolitudeSF> you probably set you package type to library when doing `nimble init` |
09:41:45 | leorize | `binsee https://github.com/nim-lang/nimble#hybrids |
09:41:51 | FromGitter | <kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8e165f2f6ded0abbf86049] |
09:42:13 | FromGitter | <kristianmandrup> `Package 'nim_flyd' has an incorrect structure. It should contain a single directory hierarchy for source files, named 'nim_flyd', but file 'submodule.nim' is in a directory named 'flyd' instead. This will be an error in the future.` |
09:42:26 | FromGitter | <kristianmandrup> yes, I like to develop libraries |
09:42:49 | FromGitter | <kristianmandrup> "you have to add the target binaries to the .nimble file" - thanks |
09:43:24 | leorize | oops I linked the wrong section |
09:43:32 | leorize | the section of interest is right above what I linked |
09:43:49 | FromGitter | <kristianmandrup> So, is there a good guide on development flow for writing libraries? |
09:44:58 | FromGitter | <kristianmandrup> I guess I should keep the package structure as it was and just develop test driven, using `nimble test` then |
09:45:51 | * | clyybber joined #nim |
09:48:02 | FromGitter | <kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8e17d28aa66959b624261b] |
09:48:24 | FromGitter | <kristianmandrup> OK, `binary` was much easier! |
09:50:19 | * | vlad1777d quit (Ping timeout: 244 seconds) |
09:51:02 | leorize | there's also `nimble run` |
09:51:07 | FromGitter | <kristianmandrup> aha! |
09:51:36 | FromGitter | <kristianmandrup> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8e18a8fcaf7b5f73ca614c] |
09:51:48 | FromGitter | <kristianmandrup> no such task `run` ?? |
09:54:24 | FromGitter | <kristianmandrup> Getting started? |
09:54:25 | FromGitter | <kristianmandrup> https://learnxinyminutes.com/docs/nim/ |
09:54:33 | FromGitter | <kristianmandrup> https://github.com/VPashkov/awesome-nim |
09:55:08 | FromGitter | <kristianmandrup> Any good blog posts or guides for Getting started that you can recommend? |
09:55:19 | * | jjido joined #nim |
09:55:37 | narimiran | see if you can find something for you on this list: https://nim-lang.org/learn.html |
09:56:14 | FromGitter | <kristianmandrup> And does `nim` have prettier support of some kind for VSC? |
09:56:41 | * | nsf joined #nim |
09:56:53 | narimiran | code-formatter? there is nimpretty |
09:57:02 | FromGitter | <kristianmandrup> yes |
10:01:11 | FromGitter | <kristianmandrup> So how do I use/configure for nimpretty? where can I find it and docs/usage guide? |
10:01:31 | FromGitter | <kristianmandrup> All I found so far is this video: https://www.youtube.com/watch?v=UV38gQfcb9c |
10:02:56 | FromGitter | <kristianmandrup> Looks like it is integrated in `nim` somehow? |
10:02:57 | FromGitter | <kristianmandrup> https://github.com/nim-lang/Nim/blob/devel/nimpretty/nimpretty.nim |
10:04:12 | * | stefanos82 joined #nim |
10:07:09 | narimiran | i'm not sure if it comes with choosenim or the installers, or you need to compile it manually. (i did the latter) |
10:08:02 | FromGitter | <kristianmandrup> oh? so any guide on configuration of Dev environment or you just figured it out by yourself and asking community? |
10:08:34 | FromGitter | <kristianmandrup> I was looking into how to write VSC extensions recently. Would be nice with some sort of integration |
10:09:20 | narimiran | yeah, nim is lacking in that department. but IRC community is great and very helpful (during the working week, today is very quiet) |
10:23:09 | * | arecacea1 quit (Remote host closed the connection) |
10:23:31 | * | arecacea1 joined #nim |
10:39:26 | Zevv | Why would nim rst2html give the error "'*' expected" at the start of a RunnableExamples block? |
10:41:53 | FromGitter | <kristianmandrup> so what is your `nimpretty` setup? you run it manually from CLI or you have it integrated into your IDE/editor, task or sth? |
10:44:46 | narimiran | to be honest, i just used nimpretty only to see how well it works. i write my code respecting NEP-1 (https://nim-lang.github.io/Nim/nep1.html) |
10:45:12 | FromGitter | <kristianmandrup> are Variant types more or less similar to Discriminated unions? |
10:45:14 | FromGitter | <kristianmandrup> https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/discriminated-unions |
10:45:26 | narimiran | oooh, another F# user? |
10:46:26 | FromGitter | <kristianmandrup> yes, I was about to go all in on F#, then discovered Nim ;) |
10:47:41 | narimiran | hehe, similar story here, just couple of years ago :) and as you can see, i'm (still) here in #nim :) |
10:48:10 | narimiran | but F# will always be my first crush :) |
10:49:16 | FromGitter | <kristianmandrup> Cool :) I had a recent consultancy gig in an enterprise using .NET and C#, never had considered that platform for a sec. Then discovered the new .NET core is multi platform and F# looks pretty decent (love functional style and their type system). But then researching further I somehow stumbled upon Nim |
10:50:06 | FromGitter | <kristianmandrup> @FromIRC hahaha :) F# and Nim are my most recent "crushes" in a long quest to find the "Holy Grail" of prog lang. |
10:53:13 | narimiran | (fromIRC/fromGitter is just a bot transferring messages IRC <--> Gitter ;)) |
10:53:44 | FromGitter | <kristianmandrup> yeah, haven't seen that before. Not been using Gitter too much |
10:54:35 | FromGitter | <kristianmandrup> So <narimiran> how does the Nim type system compare to F# and the `case` vs `match` pattern matching? |
10:55:26 | narimiran | for F#-like stuff i have used (and prefer the syntax of) https://github.com/alehander42/gara |
10:56:18 | FromGitter | <kristianmandrup> Is there something like Union types? I've seen Variant types, which looks very similar to me |
10:57:00 | narimiran | yes, https://nim-lang.github.io/Nim/manual.html#types-object-variants |
10:57:20 | FromGitter | <kristianmandrup> also I can see this does the job: https://github.com/alehander42/gara#variants |
10:58:37 | FromGitter | <kristianmandrup> Sweet :) That convinces me that Nim provides all I need, now just write a bunch of wrapper libs and help improve the tooling + docs ;) |
10:59:47 | FromGitter | <kristianmandrup> Any good guide on writing wrapper libs for JavaScript libs? |
10:59:58 | narimiran | i have no experience with JS |
11:00:41 | narimiran | we're trying to improve the docs, everybody (including nim beginners) can help: https://github.com/nim-lang/Nim/issues/10330 |
11:01:43 | FromGitter | <kristianmandrup> I've been reading the Nim in Action book. Example wrapping Canvas. Hmm, I need to look at examples out there |
11:04:10 | FromGitter | <kristianmandrup> I guess I'd have to use `emit` similar to how other languages do the JS wrapping (ReasonML and F# etc). |
11:07:05 | FromGitter | <kristianmandrup> <narmiran> have you seen anyone use Railway Oriented Prog (ROP) approach to error handling in Nim? |
11:07:28 | FromGitter | <kristianmandrup> Ie, using union type for Result (OK, Error) |
11:07:49 | FromGitter | <kristianmandrup> I don't like try/catch |
11:08:31 | FromGitter | <kristianmandrup> Ah, at least there is: `proc complexProc() {.raises: [IOError, ArithmeticError].} =` |
11:08:46 | FromGitter | <kristianmandrup> I love the pragmas! |
11:12:30 | narimiran | Zevv: could it be some exported proc having *, and rst parser expects "closing *" because it thinks there is some italic text? |
11:12:50 | * | endragor joined #nim |
11:14:08 | narimiran | kristianmandrup: maybe https://nim-lang.github.io/Nim/options.html would do the trick for some basic stuff? i haven't seen anybody doing ROP in nim (but maybe i didn't look well enough) |
11:15:22 | FromGitter | <kristianmandrup> Perfect! Makes sense. Definitely possible with these building blocks :) option was the last piece in the puzzle so far :) |
11:17:09 | FromGitter | <SolitudeSF> (https://files.gitter.im/nim-lang/Nim/wxIN/image.png) |
11:17:11 | FromGitter | <SolitudeSF> does option definition in docs looks like this to anyone else? |
11:21:17 | Zevv | narimiran: I'm messing up I guess. |
11:21:47 | narimiran | SolitudeSF: yes, it is nimdoc quirk |
11:21:52 | Zevv | runableExamples only go in nim files, not in rst, right? |
11:22:17 | narimiran | Zevv: yes, i was just about to ask why are you having proc definition and runnable examples in some .rst file |
11:22:21 | Zevv | :) |
11:22:30 | Zevv | I was trying to consolidate my github README.md with my Nim docs |
11:22:41 | Zevv | I'd like to have once source for both. |
11:23:28 | Zevv | so the easiest is to make a .rst and convert this to html with rst2html, but I'd like to have my examples ran for testing to make sure everything is ok |
11:23:57 | * | endragor quit (Remote host closed the connection) |
11:26:17 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:27:41 | * | endragor joined #nim |
11:30:08 | narimiran | include that rst in your nim file? :/ |
11:30:46 | * | dddddd joined #nim |
11:32:36 | * | endragor_ joined #nim |
11:34:43 | narimiran | bbl |
11:36:20 | * | endragor quit (Ping timeout: 272 seconds) |
11:37:37 | Zevv | oh includable, never know that! |
11:38:12 | * | Vladar joined #nim |
11:39:14 | dom96 | Really not cool to merge PRs that still had open questions from me :/ |
11:39:20 | * | narimiran quit (Ping timeout: 244 seconds) |
11:45:25 | clyybber | dom96 What PR? |
11:45:37 | dom96 | https://github.com/nim-lang/nimble/pull/613 |
12:03:11 | * | theelous3_ joined #nim |
12:09:16 | * | seerix quit (Ping timeout: 250 seconds) |
12:12:46 | * | seerix joined #nim |
12:14:58 | dom96 | My god, the related issues that GitHub lists has got to be the most annoying thing. I've clicked on it by accident now twice because it loads with a delay |
12:16:33 | * | endragor_ quit (Remote host closed the connection) |
12:24:55 | * | seerix quit (Remote host closed the connection) |
12:25:15 | * | nsf quit (Quit: WeeChat 2.4) |
12:27:17 | federico3 | dom96: octobox.io might help |
12:39:52 | FromGitter | <alehander42> @kristianmandrup variants are not entirely implemented there, you can use Patty's variant macro or just case objects |
12:40:00 | FromGitter | <alehander42> But pattern matching should work |
12:40:15 | FromGitter | <alehander42> You can use importcpp for most just wrapping |
12:40:20 | FromGitter | <alehander42> I rarely need emit |
12:40:39 | FromGitter | <alehander42> JavaScript wrapping |
12:41:12 | FromGitter | <alehander42> And you can just use dynamic jsobject type in a gradual like type way if you just prototype |
12:41:16 | FromGitter | <alehander42> And cast back |
12:41:22 | FromGitter | <alehander42> And later add types |
12:41:35 | FromGitter | <alehander42> But wrapping is better usually indeed |
12:41:55 | FromGitter | <alehander42> Just the functions you need |
12:47:27 | dom96 | nice, so having nimblepkg/nimscriptapi.nim in $PWD causes Nim to not evaluate the implicit import from /tmp/nimblecache/ somehow... |
12:52:02 | * | seerix joined #nim |
13:28:47 | * | aguspiza joined #nim |
13:29:14 | aguspiza | hi |
13:30:38 | aguspiza | i am trying to use libui and asyncdispatch together, so i need to call mainLoop() and runForever(), which obviously block each other. |
13:31:09 | aguspiza | is possible to get both working with only one thread? |
13:32:20 | leorize | aguspiza: use pollingMainLoop() |
13:36:06 | aguspiza | ouch! (the proc just after mainLoop :D ), thanks |
13:44:39 | * | chemist69 quit (Quit: WeeChat 2.3) |
13:44:58 | * | chemist69 joined #nim |
14:14:45 | * | BaldEagleX02 joined #nim |
14:16:25 | * | rnrwashere joined #nim |
14:21:48 | * | BaldEagleX02 quit (Quit: Textual IRC Client: www.textualapp.com) |
14:29:04 | * | leorize quit (Quit: WeeChat 2.3) |
14:29:37 | * | leorize joined #nim |
14:34:04 | * | nsf joined #nim |
14:42:34 | * | vlad1777d joined #nim |
14:46:31 | * | BaldEagl_ joined #nim |
14:48:12 | * | BaldEagl_ quit (Client Quit) |
14:48:47 | * | BaldEagleX02 joined #nim |
15:04:19 | * | BaldEagleX02 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:04:24 | * | lritter joined #nim |
15:05:14 | * | BaldEagleX02 joined #nim |
15:10:26 | FromGitter | <BaldEagleX02> Bridge test |
15:10:35 | BaldEagleX02 | Working! |
15:13:10 | BaldEagleX02 | I have created the channel ##nim-iot to discuss about future Nim IoT implementations and embedded devices |
15:13:51 | * | narimiran joined #nim |
15:14:51 | * | qwertfisch quit (Ping timeout: 252 seconds) |
15:15:02 | * | qwertfisch joined #nim |
15:17:00 | * | Elronnd quit (Remote host closed the connection) |
15:22:24 | * | Trustable joined #nim |
15:29:21 | shashlick | @dom96 just saw your comment on removing the vm from nimble - I think you mean you don't like the nim c method but are good with the nim e method |
15:30:47 | federico3 | what's the koch syntax to run all test files in a dir? |
15:32:04 | * | theelous3_ quit (Ping timeout: 250 seconds) |
15:34:18 | * | BaldEagleX02 quit (Quit: Textual IRC Client: www.textualapp.com) |
15:36:09 | dom96 | shashlick: I mean to evaluate the .nimble file using the Nim VM by invoking `nim`. Whether that's via `nim e` or not *shrug* |
15:36:27 | * | krux02 joined #nim |
15:36:31 | narimiran | federico3: koch test cat dirname |
15:36:53 | federico3 | are all dirs categories? Even nested ones? |
15:37:06 | narimiran | don't think so |
15:38:48 | narimiran | dom96: while you're here: can you give me deleting rights on the telegram group? because we had some spammers recently and i couldn't delete their posts. (manage group - administrators - click on me - enable 'delete messages') |
15:41:46 | federico3 | it seem to work: https://github.com/nim-lang/Nim/pull/10850/files |
15:42:26 | dom96 | narimiran: can't do that on mobile it seems :/ |
15:43:57 | narimiran | dom96: when you click on the top bar (where it says "Nim / 105 members), in the top right corner, there is pen-like icon - click on it |
15:44:09 | narimiran | (yeah, i couldn't find it at first too) |
15:44:32 | dom96 | ahh, cool. done |
15:44:54 | narimiran | great, thanks! |
15:58:22 | * | natrys joined #nim |
16:01:02 | shashlick | dom96 so I'll proceed with the nim e method |
16:01:36 | dom96 | shashlick: that would be awesome :) |
16:01:40 | shashlick | We can always evaluate later nim c since it will be minimal in terms of code change |
16:02:38 | shashlick | Also, most nimble packages won't really need very complicated stuff so the value of compiling will be marginal |
16:19:47 | dom96 | yep |
16:20:00 | dom96 | Once this is merged you'll be able to use httpbeast with websockets https://github.com/niv/websocket.nim/pull/54/ :D |
16:21:27 | clyybber | \o/ nice |
16:23:22 | * | jjido joined #nim |
16:28:54 | * | rnrwashere quit (Remote host closed the connection) |
16:29:28 | * | rnrwashere joined #nim |
16:45:45 | * | Tyresc joined #nim |
17:20:35 | * | krux02 quit (Read error: Connection reset by peer) |
17:36:35 | FromGitter | <Varriount> shashlick: `nim e`? |
17:37:18 | * | Cthalupa quit (Ping timeout: 250 seconds) |
17:39:15 | * | Cthalupa joined #nim |
17:39:22 | shashlick | yep - the choice was between `nim e` which limits us to nimscript, or `nim c` which brings everything in |
17:45:16 | shashlick | @dom96 is concerned with the compile time penalty |
17:46:02 | shashlick | It's arguable that as developers we run nimble hundreds of times without changing the nimble file so a cached compiled binary will be awesome |
17:46:30 | shashlick | But it's also easy to test both options and see what the penalty actually is |
17:51:23 | shashlick | Meanwhile, what's the best way to identify memory corruption in Nim code |
17:52:12 | shashlick | Some of my stack trace fail in allocs which probably means I messed up elsewhere |
17:52:41 | shashlick | So as much as nimgdb helps me identify that, it doesn't help with root cause |
17:52:52 | shashlick | Any tips appreciated |
17:54:22 | * | elronnd_ joined #nim |
17:54:28 | * | elronnd_ is now known as Elronnd |
17:58:58 | * | Cthalupa quit (Ping timeout: 250 seconds) |
18:01:14 | * | Cthalupa joined #nim |
18:07:12 | Zevv | ye ole' valgrind? |
18:07:34 | Zevv | electric fence? |
18:08:06 | Zevv | address sanitizer? |
18:08:25 | Zevv | valgrind is awfully triggerhappy with Nim, though. |
18:10:52 | clyybber | use valgrind, but ignore everything that contains "uninitialized" :P |
18:11:08 | clyybber | should lead to some invalid reads or writes... hopefully |
18:11:46 | clyybber | also when you are doing stuff with graphics, make sure to add suppression rules for the graphics drivers |
18:13:12 | Zevv | Maybe we should provide a sane Valgrind supression file with Nim |
18:13:20 | Zevv | I keep re-making it every now and then and lose it |
18:17:18 | * | Elronnd is now known as earenndil |
18:17:25 | * | earenndil is now known as Elronnd |
18:27:25 | * | seerix quit (Ping timeout: 246 seconds) |
18:30:28 | * | NimBot joined #nim |
18:44:08 | clyybber | !eval echo "Hello Nimbot" |
18:44:08 | NimBot | Compile failed: <no output> |
18:45:06 | shashlick | this is Windows though, so valgrind is out? |
18:45:23 | * | seerix joined #nim |
18:54:12 | Zevv | can't you get your critical code to run on linux for testing purposes? Can't help you on non-linux, sorry |
18:55:47 | shashlick | its a gui application |
18:55:51 | Zevv | aw |
18:56:15 | Zevv | what's your compiler? |
18:56:17 | shashlick | the goal is to port it across but still doesn't help debug on windows |
18:56:18 | shashlick | mingw |
18:56:37 | Zevv | asan then |
18:56:57 | Zevv | -fsanitize=address |
18:57:39 | Zevv | oh I just read that that might not be avaialble on windows :/ |
19:06:52 | shashlick | good to know, but ya, still stuck 😉 |
19:22:18 | clyybber | Huh, weird so |
19:22:30 | clyybber | var a, b = 3 |
19:22:33 | clyybber | works, but |
19:22:49 | clyybber | var a, b = 0 |
19:22:54 | clyybber | a, b = 3 |
19:22:57 | clyybber | doesnt... |
19:23:15 | Zevv | but assignment is not initialization |
19:23:44 | clyybber | Yeah, I just didn't expect the syntax to be different |
19:24:21 | Zevv | I didn't even know about the multiple assignment :) |
19:24:33 | clyybber | And AFAICT it could work without syntactic ambiguity |
19:24:44 | Zevv | (a, b) = (3, 3) works |
19:25:11 | Zevv | although its something completely different :) |
19:25:59 | clyybber | It just assigns 3 to a and b? |
19:26:07 | clyybber | I think the tuples get optimized away |
19:26:11 | Zevv | yeah, but that's tuple unpacking |
19:26:12 | Zevv | indeed |
19:26:25 | clyybber | Whats funny is, if you write: |
19:26:30 | clyybber | var a, b = 0 |
19:26:38 | clyybber | (a, b) = 3 |
19:26:49 | clyybber | the compiler somehow tries to access an array |
19:27:08 | Zevv | sugar |
19:27:37 | Zevv | yeah, interesting error result |
19:31:31 | * | rnrwashere quit (Remote host closed the connection) |
19:32:26 | * | BaldEagleX02 joined #nim |
19:35:31 | * | BaldEagl_ joined #nim |
19:36:03 | * | rnrwashere joined #nim |
19:36:20 | * | ng0 joined #nim |
19:39:38 | * | ng0 quit (Client Quit) |
19:40:42 | * | rnrwashere quit (Ping timeout: 264 seconds) |
19:45:04 | clyybber | C ya |
19:45:19 | * | clyybber quit (Quit: WeeChat 2.4) |
19:46:16 | * | BaldEagl_ quit (Quit: Textual IRC Client: www.textualapp.com) |
19:51:45 | * | Trustable quit (Remote host closed the connection) |
19:54:20 | * | narimiran_ joined #nim |
19:56:31 | BaldEagleX02 | Nim is still too rarely used in production. We should advertise it on the Internet |
19:56:34 | * | Tyresc quit (Ping timeout: 255 seconds) |
19:57:18 | * | narimiran quit (Ping timeout: 272 seconds) |
19:57:21 | narimiran_ | no one thought of that :P :D |
19:58:49 | narimiran_ | 0.x version and "in production" usually don't go well together. no matter how much you try to advertise it |
19:59:45 | narimiran_ | i can tell people "but it is quite stable" all they long, but all they see/hear is: 0.x |
20:01:19 | BaldEagleX02 | Well, the community is working hard to make it stable and it will reach version 1 soon. |
20:01:32 | narimiran_ | i know :) |
20:02:36 | shashlick | that's why I've been pushing to get to 1.x since Nim is stable enough already |
20:02:49 | shashlick | we also have a stable maintained branch now with 0.19.x |
20:02:56 | BaldEagleX02 | I am currently using it for some projects and it seems to be stable. It is also very fast. The point is: it's not only rarely used in production, but in development too |
20:03:12 | shashlick | its just that devs have super high standards for what 1.0 should be |
20:14:01 | * | nsf quit (Quit: WeeChat 2.4) |
20:17:03 | dom96 | Marketing is important |
20:25:37 | Zevv | Is the identifier 'kind' somehow special or reserved? |
20:26:42 | Zevv | oh its a proc in macros. |
20:31:50 | * | narimiran_ is now known as narimiran |
20:37:14 | Zevv | Funny, I can't use any identifier that is exported by an imported module as identifier in a tuple constructor: Illformed AST: |
20:45:48 | * | vlad1777d quit (Ping timeout: 250 seconds) |
20:46:00 | FromGitter | <akavel> Hi! In the following code, how can I type-convert a var SortedSet to a var HeapQueue? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8eb2089d9cc8114ad87fa2] |
20:46:17 | FromGitter | <akavel> I tried to mimic how HeapQueue itself was written |
20:46:28 | FromGitter | <akavel> but it doesn't seem to work here |
20:46:50 | FromGitter | <akavel> I'm getting: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8eb23afa5b721a1fa65af7] |
20:47:15 | FromGitter | <akavel> (where line 11 is the line with `push` in my file) |
20:48:29 | FromGitter | <akavel> Or am I missing something? |
20:49:32 | FromGitter | <akavel> Do I have to use `cast[var ...]` or something? I'd prefer not to, as IIUC `cast` is inherently non-typesafe? |
20:53:10 | * | aguspiza quit (Ping timeout: 250 seconds) |
21:00:19 | Zevv | no, you're doing the right thing ,but there is something with syntax ambiguities |
21:00:22 | Zevv | let me look that up |
21:00:30 | Zevv | there's some special notation for generics |
21:02:47 | * | vlad1777d joined #nim |
21:03:10 | * | narimiran quit (Ping timeout: 255 seconds) |
21:05:34 | Zevv | s.HeapQueue[:T].push(item) |
21:05:43 | Zevv | https://nim-lang.org/docs/manual.html#procedures-method-call-syntax |
21:05:46 | * | Vladar quit (Remote host closed the connection) |
21:06:07 | Zevv | "The method call syntax conflicts with explicit generic instantiations: p[T](x) cannot be written as x.p[T] because x.p[T] is always parsed as (x.p)[T]. |
21:06:30 | Zevv | "The [: ] notation has been designed to mitigate this issue" |
21:08:12 | FromGitter | <akavel> Zevv: ok, I'll try; but I'm not using s.HeapQueue[T] syntax, I'm using HeapQueueT (s) - this doesn't seem confusing w.r.t. to the syntax! |
21:08:56 | FromGitter | <akavel> actually, it even says in the manual that: "x.p[:T] is rewritten by the parser to pT (x)" |
21:09:45 | FromGitter | <akavel> meaning, into the form I already have anyway, no? |
21:10:36 | FromGitter | <akavel> And yep, still the same error after the change. |
21:10:56 | shashlick | @Clyybber - looking at your thread - https://forum.nim-lang.org/t/4700 - this fails on 0.19.4 as well, but curious if it helped debug your issue |
21:11:22 | shashlick | anyone have any luck using dmalloc with nim? |
21:11:54 | Zevv | oh sorry akavel, I'm not using gitter and missed half your error message - Assumed it had to do with the conversion. |
21:13:05 | FromGitter | <akavel> Zevv: should I format it some other way to make it readable on irc? |
21:14:00 | Zevv | no, my bad. On IRC I just get a link. And I click there and I get this terrible layouted website with three columns, of which the middle holds a copy of the IRC chat, and then 50% of the widht of this middle colum, and 3 lines high, is your paste |
21:14:19 | Zevv | 5 cm wide, 2cm high on my screen. Utterly useless |
21:15:22 | Zevv | but I can now reproduce your problem anyway |
21:15:54 | Zevv | and to this, I do not know the answer. The type conversion seems to lose its varness |
21:17:08 | Zevv | no, I can't reproduce. I think I should just go to bed |
21:18:07 | * | ng0 joined #nim |
21:19:37 | Zevv | Yes, I *can* reproduce - if I pass a one-time-assignment 'let' var to incl instead of a 'var' var |
21:20:07 | FromGitter | <akavel> Additional code I use that still reproduces for me: |
21:20:27 | FromGitter | <akavel> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8eba1afcaf7b5f73ce8af3] |
21:21:04 | FromGitter | <akavel> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8eba4052c7a91455af7880] |
21:21:25 | FromGitter | <akavel> Hm, note I'm using 19.4, not devel |
21:25:14 | * | vlad1777d quit (Ping timeout: 250 seconds) |
21:26:34 | * | aguspiza joined #nim |
21:28:10 | FromGitter | <akavel> Hmh, I invented a workaround, seems to work, though somewhat ugly in my opinion: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8ebbe9fcaf7b5f73ce982d] |
21:32:08 | * | noeontheend joined #nim |
21:33:16 | * | BaldEagleX02 quit (Quit: BaldEagleX02) |
21:37:22 | * | BaldEagleX02 joined #nim |
21:43:07 | * | rnrwashere joined #nim |
21:45:46 | * | BaldEagleX02 quit (Remote host closed the connection) |
21:47:27 | * | natrys quit (Quit: natrys) |
21:53:22 | * | BaldEagleX02 joined #nim |
21:57:16 | * | BaldEagleX02 quit (Remote host closed the connection) |
22:04:11 | * | BaldEagl_ joined #nim |
22:05:45 | * | vlad1777d joined #nim |
22:12:57 | * | BaldEagl_ quit (Ping timeout: 250 seconds) |
22:14:37 | * | aguspiza quit (Ping timeout: 245 seconds) |
22:16:11 | * | BaldEagleX02 joined #nim |
22:19:51 | * | rnrwashere quit (Remote host closed the connection) |
22:38:37 | * | BaldEagl_ joined #nim |
22:38:44 | * | BaldEagl_ quit (Client Quit) |
22:41:16 | * | solitudesf quit (Ping timeout: 255 seconds) |
22:48:04 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:51:04 | * | kapil____ quit (Quit: Connection closed for inactivity) |
23:01:08 | * | rnrwashere joined #nim |
23:14:03 | * | kapil____ joined #nim |
23:23:54 | * | noeontheend quit (Ping timeout: 264 seconds) |
23:26:56 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
23:42:41 | * | rnrwashere quit (Remote host closed the connection) |
23:44:29 | * | rnrwashere joined #nim |
23:53:46 | * | stefanos82 quit (Remote host closed the connection) |