A serious documentation for Nim

2022-12-31 Thread archnim
> considering how much Nim offers, the existing documentation, especially the > official one, is absolutely ridiculously minuscule > > If Nim would have at least a hundred times (...) the amount of higher quality > documentation, I guarantee, that the user base of this language would > skyrocke

A serious documentation for Nim

2022-12-31 Thread archnim
> The manual is also available as a PDF. When I say that we can't learn a lang with a single page, I'm not talking about the way it presented, but about the length of the content. Everything is summarized in the manual, to fit it a single web page.

A serious documentation for Nim

2022-12-31 Thread archnim
> That's why there's the three-part tutorial Well that is a very good example of what a language official tutorial should look like. Now we have to: * Assemble it in a single resource, readable online and downloadable * Add many many many things in it to make it comprehensive * Tra

A serious documentation for Nim

2022-12-31 Thread archnim
Same issue with Nim in action: it's an external resource, nobody can guarantee that Dr Salewski will always be available to update his book. In fact few things in it are already outdated. And no, it is not really comprehensive.

A serious documentation for Nim

2022-12-31 Thread haxscramper
There is a pretty comprehensive tutorial for nim that is aimed st beginners, that is sadly missing from the official link list.

A serious documentation for Nim

2022-12-31 Thread archnim
> Nim in Action has been pretty comprehensive for my needs as a web developer A programming language can't rely on a book, that is not part of it official docs, to teach people how it works. There is no guarantee that the book will evolve to match each new version of the language. And even if it

Async Socket with SSL Context throws "error:1420C114:SSL routines:ssl_write_internal:uninitialized"

2022-12-31 Thread Araq
There is no difference between your two code snippets.

Question about the let statement

2022-12-31 Thread sls1005
For `seq`, two levels of mutability (pointer and item) are mixed in one (either both mutable, or both immutable). For `ptr` and `ref`, a level of mutability is not implemented, as the object pointed to is always considered mutable.

Question about the let statement

2022-12-31 Thread sls1005
For me the behavior of `ptr` is more correct than that of `seq`. I could never understand that, if the items of a `seq` are stored on the heap, why do I need a `var seq` (hidden pointer to a variable on the stack) in order to change its items?

Question about the let statement

2022-12-31 Thread Araq
Pointers are inconsistent with `seq` just like `int` (many values) is "inconsistent" with `bool` (only two values). An inconsistency usually goes beyond "I connected two different things in my head and they are different, ergo inconsistent". There is also `var openArray` (mutable, not appendable

A serious documentation for Nim

2022-12-31 Thread Araq
> I do feel that beginners (as in, less experienced programmers, people who > haven't used many languages, not all new nim users) might find this style of > documentation intimidating, because there's not much hand holding. Nim was not designed for beginners. I happen to think it's not the worst

A serious documentation for Nim

2022-12-31 Thread Araq
> The BIGGEST reason I cannot always shout out about Nim to everyone I know > with good conscience is exactly because of this documentation issue. Try to shout anyway, a subset of "everyone" can appreciate the documentation in spite of your personal feelings about it. Not everybody has your prog

A serious documentation for Nim

2022-12-31 Thread wilsonywx2
Personally, I feel the Nim documentation is decent, compared to say what you might find on cppreference.com. The sections are terse, but they generally give enough info for those who know what they are looking for. Having everything in 1 page saves me the effort from having to navigate a website

A serious documentation for Nim

2022-12-31 Thread Araq
> But for the moment, I think that the situation is bad enough to justify a > complete rewrite of the manual. That moment will pass. ;-) > It's really not possible to learn a programming language from a to z by > reading a single page. The manual is also available as a PDF. And if it weren't y

A serious documentation for Nim

2022-12-31 Thread xigoi
> It's really not possible to learn a programming language from a to z by > reading a single page. That's why there's the three-part tutorial. And Mr. Salewski's book.

Roadmap 2023

2022-12-31 Thread Araq
It's a good thing then that I don't expect anything from you, not even proper casing.

A serious documentation for Nim

2022-12-31 Thread Akito
Thank you. Been thinking that since I saw Nim for the first time. The biggest issue with Nim is that the amount of documentation is laughable. Yes. I know all the books & **I have read all the official documentation entirely, several times**. Including all the documentation regarding standard li

A serious documentation for Nim

2022-12-31 Thread arik
Nim in Action has been pretty comprehensive for my needs as a web developer, it teaches you how to use Sinatra-like framework with an ORM to create a functional product. Awesome Nim is also a good place to start in seeing a compilation of all Nim resources, definitely a good place to start. I w

A serious documentation for Nim

2022-12-31 Thread Hlaaftana
Anyone do anything challenge P.S. the manual is more of a specification than a learning resource. It's just more complete than existing learning resources

Question about the let statement

2022-12-31 Thread sls1005
If viewing pointers as values, it's easy to understand this behavior, and I believe it's correct. However most people don't understand it that way. Nim only distinguishs between `ptr T` (immutable pointer) and `var ptr T` (mutable pointer), but not `var ptr T` (mutable pointer to an object) and

Async Socket with SSL Context throws "error:1420C114:SSL routines:ssl_write_internal:uninitialized"

2022-12-31 Thread Akito
"Fixed" it by changing this proc connect*(imap: ImapClient; host: string, port = imapPort) {.async} = ## Establish a connection to an IMAP server await imap.sock.connect(host, port) await imap.checkOk() Run to this proc connect*(imap: Ima

Roadmap 2023

2022-12-31 Thread yeabsira
hello guys actually am new but am very interested in Nim, so my comment is that there shouldn't be prags {..} and also more documentation on each lib i expect Nim 2 cool like java well organized thanks

A serious documentation for Nim

2022-12-31 Thread yeabsira
hey man i just have a quick question, what if we add the dir() function like python have list and descriptions about the module and lib ... please check dir func of python reply me

A serious documentation for Nim

2022-12-31 Thread archnim
> User archnim2 shows up a couple of months later and complains our docs are bad I know that no idea there will always be things to complain about. But for the moment, I think that the situation is bad enough to justify a complete rewrite of the manual. It's really not possible to learn a progra

A serious documentation for Nim

2022-12-31 Thread haxscramper
Another thing that might happen is that large number of people who will be happy about new documentation. Also, archnim2 might provide their own improvements as well, increasing the overall quality of the docs.

A serious documentation for Nim

2022-12-31 Thread archnim
If such a committee has to be created, here are the main goals that they have to seek according to me : 1- Unify the docs: All the links in can be a real source of confusion. They should be assembled in two documentations: a better version of the manua

A serious documentation for Nim

2022-12-31 Thread Araq
Now don't get me wrong, the docs can be improved, as always and the reported bug is even funny, but when you're successful in your rewrite of the docs, here is what might happen: * You publish your work, proud of having accomplished something. * We link to it from our website. * User archn

A serious documentation for Nim

2022-12-31 Thread Araq
Well I have nothing to add.

nimqt - bindings to Qt

2022-12-31 Thread matkuki
Thank you 🎉🎉🎉 Can't wait to test this, great work 👍👍👍

A serious documentation for Nim

2022-12-31 Thread archnim
> Are there any documentation posts that you've seen that can be adapted in > this manner? Create an issue for this, compile a list of improvements? There is not just a list of specific issues in the docs. The fact is that they have to be completely rethought in a way that allows people learn de

A serious documentation for Nim

2022-12-31 Thread haxscramper
Yes, that is a good example because it is a lot more actionable. I did a search and apparently there are no open issues related to documentation content + Doing a quick search on google turns up a pa

A serious documentation for Nim

2022-12-31 Thread archnim
Sorry but the links on are not sufficient at all. And nobody have to pay, to learn other languages. Just put yourself at the place of somebody that is new to Nim and tries to understand how to create a http server in Nim. You will see very quick what I'm

A serious documentation for Nim

2022-12-31 Thread haxscramper
> Few days ago, I opened a thread, on this forum just to ask about a detail in > std/logging, because there was no explanation about it in the docs. This one Can > There is the logrotate tool on many *nix systems and i think the > RollingFIleLogger is

A serious documentation for Nim

2022-12-31 Thread ringabout
I hope to see a better documentation too. I would like to see a gentle introduction for asynchronous and its internal implementation details. It would be appreciated if can be tackled too.

A serious documentation for Nim

2022-12-31 Thread archnim
> If you said "module X has no examples for action Y" this would've been an > actionable statement that can be turned into an issue for anyone to fix. Well what I mean is that somebody learns Nim, they may struggle a lot to gather all the information necessary to be a really efficient developer

A serious documentation for Nim

2022-12-31 Thread Araq
There are also multiple books you can buy to learn the language, it sounds like you're not aware. In addition to that, there is: covering: "Nim by Example" "Learn Nim in 5 minutes" "Tutorial part 1" "Tutorial part 2" "Macro tutorial" "Nim for Begin

A serious documentation for Nim

2022-12-31 Thread haxscramper
Nim-lang conducts a yearly community survey with results available on the blog. [2021](https://nim-lang.org/blog/2022/01/14/community-survey-results-2021.html), [2020](https://nim-lang.org/blog/2021/01/20/community-survey-results-2020.html), [2019](https://nim-lang.org/blog/2020/02/18/communit

A serious documentation for Nim

2022-12-31 Thread haxscramper
See threads from 2019 and 2022

A serious documentation for Nim

2022-12-31 Thread haxscramper
> we should create a documentation committee with a dedicated forum of > discussion space Maybe instead start with figuring out what is wrong _exactly_? You say "documentation is hard". This is a general, non-actionable statement. If you said "module X has no examples for action Y" this would'v

nimqt - bindings to Qt

2022-12-31 Thread grd
Thanks! Very clever to use XML for the header file translation. I am gonna try it (right after newyearsday). This is good work! I am gonna work onto the ".ui" files and push them to your github.

A serious documentation for Nim

2022-12-31 Thread archnim
A serious issue that we should seriously address in 2023 if we really want Nim to grow, is the documentation. Nim is one of the easiest system languages to use, but one of the hardest to learn. The only way to learn the language is to read the manual which describes the entire language in a sing

nimqt - bindings to Qt

2022-12-31 Thread jerous
No intention to go into qt-quick / QML territory.

Roadmap 2023

2022-12-31 Thread archnim
It would be cool if all the libs separated from the std lib were gathered in a sort of framework so that they could be installed together, with a common docs website. Something like boost in c++ To reduce the amount of work of the Nim core team, another team can be constituted by some motivated

Roadmap 2023

2022-12-31 Thread archnim
A serious issue that we should seriously address in 2023 if we really want Nim to grow, is the documentation. Nim is one of the easiest system languages to use, but one of the hardest to learn. The only way to learn the language is to read the manual which describes the entire language in a sing

-d:useMalloc fixes memory leak, but I don't know why

2022-12-31 Thread jasonfi
Just to clarify, the leak is fixed without running under valgrind.

nimqt - bindings to Qt

2022-12-31 Thread ShalokShalom
Aww Wonderful. I assume you consider nimqml worthy to stay on its own and plan to not create any bindings to qt-quick / QML. So we have a qt-widgets and and a qt-quick binding now, effectively.

-d:useMalloc fixes memory leak, but I don't know why

2022-12-31 Thread inv2004
If I understand correct, valgrind works with malloc only

nimqt - bindings to Qt

2022-12-31 Thread jerous
Hi, it took me some time, but I have generated bindings for the Qt framework. The main goal with these bindings is supporting the creation of GUIs, not exposing the complete, massive Qt framework. Currently Qt 6.4.1 is targeted, but I guess Qt 6.*.* (and Qt5 and Qt4, if some compiler flags are

-d:useMalloc fixes memory leak, but I don't know why

2022-12-31 Thread jasonfi
The program I'm running has a thread per websocket. Running `valgrind --tool=massif` showed the websockets were using most of the memory. The websocket library I use is [niv](https://github.com/niv/websocket.nim). This is with the ORC mm. When I use -d:useMalloc as a Nim compile flag, the leak

question about memory management

2022-12-31 Thread kiarasur
it seems like ex04_extract_images_with_sugar.nim runs, except it leaks memory at the end [.](https://www.surveyzop.com/) [.](https://www.surveyzop.com/applebees-happy-hour/)

Async Socket with SSL Context throws "error:1420C114:SSL routines:ssl_write_internal:uninitialized"

2022-12-31 Thread Akito
> Did you compile with -d:ssl? Well, yes, else I would get a compilation error about not compiling with SSL, rather than a runtime error, when a connection is established and TLS is apparently supposed to be used.