Wishlist: Ideal UI library for Nim

2023-08-11 Thread ingo
> Out of curiosity, did you have any use cases in mind? the first that came to mind is to use it to feed data from several source to a single SQLite writer connection. No clue if it is suitable for that.

Weekly Nim Streams

2023-08-11 Thread Isofruit
I'm not part of the code-streaming audience generally, but I could suggest playing around with mummy a bit. Essentially write a small website using only websockets and ping pong messages back and forth with mummy as the server. Could be pretty interesting to see how to best perform such a setup

Wishlist: Ideal UI library for Nim

2023-08-11 Thread Araq
I agree with most of you said, so I'll focus on the one disagreement. > but simply the idea of attaching a set of definitions to an object in a > separate place, with a separate syntax, as it makes things much clearer, > manageable, and convenient. I'm not sure about that, in the "separate" pla

Wishlist: Ideal UI library for Nim

2023-08-11 Thread hasan
Sorry for causing confusion about components vs component sets. I did not mean to state anything against the idea of _component_. What I called an element (probably after DOM Elements) and what you call a component are very similar if not the same thing. My point was against the idea of "here is

What is the best way to learn nim for someone who is fluent with python

2023-08-11 Thread isaiah
jester.

Mapster - Because life is too short to map A to B

2023-08-11 Thread Isofruit
I didn't originally write the package with that in mind, but mapping `object Variant --> object type` works without issue. See here 2 unit-tests I just added to test that: test """ GIVEN an object variant A and an object type B that share some fields on the instance

Weekly Nim Streams

2023-08-11 Thread termer
Also if people would prefer another time, I can also switch it if other times would fit other peoples' schedules. I know there are a lot of Europeans here

Nim 2 and need for try-finally?

2023-08-11 Thread ElegantBeef
Any types like that should have `=copy` disabled, and places that take ownership annotated with `sink`. That's a relatively large and breaking change though.

Weekly Nim Streams

2023-08-11 Thread termer
I want to livestream Nim programming on weekends, I'm thinking 8PM EST on Saturdays. I've done this once before for the people on the #nimworks channel (the people behind CPS, Nimskull, etc.), and it was pretty fun and productive, at least for me. If anyone's interested, let me know and suggest

Nim 2 and need for try-finally?

2023-08-11 Thread termer
It's worth documenting part of the stdlib that have their resources freed with a `=destroy` hook since it's currently the exception, not the rule. I wouldn't mind contributing a little bit to this, but I suspect it might conflict with existing try/finally uses if there are new `=destroy` hooks a

Mapster - Because life is too short to map A to B

2023-08-11 Thread elcritch
Sweet! Now the big question, does it handle variant types? :)

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread elcritch
Perhaps a `ResolvedAddress` type could be useful. `getaddrinfo` is called all over the place, which is convenient but causes issues. Having a `ResolvedAddress` type that essentially stores `getaddrinfo` might be able to help get around that, and help simplify quite a bit of the proc's.

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread elcritch
> The problem is that the Nim standard library does things in the wrong order, > it first creates the socket (and you have to choose AF_INET or AF_INET6 > before resolving the DNS and knowing if it will be IPv4 or IPv6). When > resolving the address, if the address type does not match it will no

Wishlist: Ideal UI library for Nim

2023-08-11 Thread elcritch
> Another opinion I want to express is that all the UI > libraries/frameworks/systems with all those widgets and component sets are > things of the past. I don't know, React is built on components. Then there's boostrap, tailwind, bulma, etc. People just want to be able to tweak the components

Wishlist: Ideal UI library for Nim

2023-08-11 Thread elcritch
> Would it make sense to peel that out at some time and turn it into it's own > library, for other use cases? Definitely! It's written to be made standalone and they're called `Agents` by themselves. I want to get multithreading capability going and get some time with it in Figuro before splitt

Nim version 2.0.0 is here

2023-08-11 Thread dlesnoff
Sorry about that. I wanted to share what I see as a potential increase in popularity. I have almost never seen him code on the Youtube channel. His remarks are rather feelings and are not constructive criticisms since he did not tried out the language. I made small (wrongly formatted) keypoints

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread blackmius
seems like it be easier to create your own network stack library in nim

Wishlist: Ideal UI library for Nim

2023-08-11 Thread hasan
@Araq, please correct me if I'm wrong: The main point of supporting event-based/retained/immediate modes of operation is to design the API in an open way to allow different ways of using the library for different use cases and needs. Instead of forcing a specific workflow such as opening a windo

What is the best way to learn nim for someone who is fluent with python

2023-08-11 Thread namisboss
The error is way to vague. You need to post some code at least. Try to make it a minimal example. That way someone can at least look at what the issue could be.

What is the best way to learn nim for someone who is fluent with python

2023-08-11 Thread isaiah
No stack traceback available SIGSEGV: Illegal storage access. (Attempt to read from nil?) Segmentation fault Error: execution of an external program failed: '/home/isaiah/NimProjects/blog/src/blog.out' tools.nim(36) doCmd > Error: Execution failed with exit code 1

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread mildred
The problem is that it's too easy to create IPv4 only libraries / apps using `newSocket` then `connect` instead of `dial`. Perhaps `connect` using a string address should be deprecated at some point. Only `connect` using an address object should be allowed.

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread mildred
A solution could be to have `newSocket` not actually create the socket until either `bind`or `connect`/`connectUnix` is called, and then detect the correct socket domain from the address given in each case. Or instead of going through `newSocket` and `connect` one should just use `dial` to crea

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread mildred
I'm getting dual-stack wrong... The correct way of doing things is to: * run getaddrinfo with AF_UNSPEC * create the socket after that using the domain (AF_INET or AF_INET6) returned by getaddrinfo The problem is that the Nim standard library does things in the wrong order, it first crea

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread mildred
Well, do I need to have a development version of the Nim compiler around (and perhaps use choosenim to switch to it so I can build my projects with it) or can I just have a development version of the standard library and tell the compiler to use it instead of the standard library bundled with th

IPv6 compatibility (dual-stack AF_UNSPEC)

2023-08-11 Thread mildred
Hi, I'm often deploying server apps on the IPv6 stack, and I find that Nim is quite lacking in this regard. I believe by default, sockets are only bound to AF_INET (which means IPv4 only) while normally on C it defaults to AF_UNSPEC if not manually defined (which means dual stack). I opened a b

Mapster - Because life is too short to map A to B

2023-08-11 Thread Isofruit
I had recently at work gotten into using [MapStruct](https://github.com/mapstruct/mapstruct) for mapping data-classes of Type A to Type B in a simple manner. And I thought to myself "Huh, I have to do a lot of mapping of type A to B for webdev to hide certain fields or do minor transformations/

Any way to produce Arm64 binaries for MacOS from choosenim versions of nim?

2023-08-11 Thread Malp
Sure, depending on where the CI is run. For example, Github Actions comes with MacOS runners. Can someone point me to the current build (both binary and docker image) process(es)?

Any way to produce Arm64 binaries for MacOS from choosenim versions of nim?

2023-08-11 Thread Araq
> there's no difference between nim and any other dependency really. There really is a big difference both in theory and in practice. Let's see how others do it: * pip: Doesn't install a Python version. Python is not just a dependency like any other. * cargo: Doesn't install a Rust version.

Wishlist: Ideal UI library for Nim

2023-08-11 Thread ingo
> implemented a signal / slot mechanism similar to QT instead of callbacks! Would it make sense to peel that out at some time and turn it into it's own library, for other use cases?

Nim version 2.0.0 is here

2023-08-11 Thread Araq
Yes. And people can do that successfully with any language out there, C++ included.

Nim 2 and need for try-finally?

2023-08-11 Thread radekm
Hi, since Nim 2 brought ARC/ORC it is tempting to stop using try-finally for disposing resources. Because now `=destroy` will be called automatically when reference count drops to 0. But some examples in `stdlib` documentation eg. `std/httpclient` still use try-finally. When I looked into the

Nim version 2.0.0 is here

2023-08-11 Thread alexeypetrushin
Theoretics can critisise python all they want. I say what I see around. People successfully use it to solve all sorts of common problems, frequently even without much understanding about it by basically just google & copy-paste & slightly modify - all done. It's ugly and messy, but it's simple a

Nim 2 and need for try-finally?

2023-08-11 Thread Araq
Unfortunately large parts of the standard library don't embrace destructors yet. Sorry!

Nim 2 and need for try-finally?

2023-08-11 Thread blackmius
yes try/finally still needed for types lacking =destroy. If you using low level primitives like handles which rarely used in c bindings you still need to free resources yourself. So having SocketHandle is just a distinct cint and you need call close on created socket to free it usage in OS

Owlkettle 2.0.0 is a declarative GUI framwork for GTK 4

2023-08-11 Thread gareth60
I've just upgraded to Nim 2.0 and the Head version of Owlkettle. To get the ToDo example to work I had to change the style of the two buttons to style = {ButtonSuggested} to get the example to compile (curly brackets rather than square brackets).

Wishlist: Ideal UI library for Nim

2023-08-11 Thread elcritch
On a past weekend I got the bug and started working on what I'd described previously. It's come along fairly quickly! Many thanks for @treeform and @guzba for the amazing UI libraries. @ElegantBeef has been elegant as always while helping me grok mixins. It's still very experimental, as in mous

Problems compiling objc code including on osx

2023-08-11 Thread krakengore
Thanks all for the suggestions, i've been able to progress !

Nim version 2.0.0 is here

2023-08-11 Thread Araq
> Python - simplicity Ha, good one. Python: Exceptions + multiple inheritance + operator overloading. All the features that make C++ bad. According to "popular wisdom" anyway. ;-)

Nim version 2.0.0 is here

2023-08-11 Thread alexeypetrushin
Scala is overcomplicated and incoherent mess of all sort of features. Python - simplicity. Nim - hard realtime systems and system programming