Re: Nim nightly builds

2019-01-05 Thread kaushalmodi
@moerm 0.19.9 is devel, 0.19.2 is the last stable release.

Re: Nim nightly builds

2019-01-05 Thread moerm
Great (although I personally prefer halfway stable releases) Thank you. Out of curiosity: how come the jump from 19.2 -> 19.9?.

Re: Nim Advocacy & Promotion Strategies

2019-01-05 Thread moerm
Front-up disclaimer: I went into the being exited trap due to what Nim has to offer, too. Re the OP issue: To promote a language one should first know what it actually is one wishes to promote. So: what is Nim at its core? What is _the_ definition/goal of Nim? Is it a system language or is it

Re: List of pending CT evaluation features

2019-01-05 Thread rect0x51
CTE for methods is missing. There must be more.

Re: Nim nightly builds

2019-01-05 Thread geotre
Cool! The download page here needs updating with a link: [https://nim-lang.org/install.html](https://nim-lang.org/install.html) (it says "We currently don't offer nightly builds")

Re: Nim Advocacy & Promotion Strategies

2019-01-05 Thread dom96
> IMO Nim should drop some features (e.g., method), fix broken stuff that was > documented but not ready (concept, static[T], regions if they're still > there?), and ship a version 1.0. Not, for example, try to develop tooling to > compile to JS, amongst other things. Nim can't take on Typescrip

Re: Nim nightly builds

2019-01-05 Thread dom96
This is beautiful! Best part is we don't have to maintain our own build farm. A moment of silence for our old friend, [NimBuild](https://github.com/nim-lang/nimbuild) :)

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread twetzel59
1. Sure, but only if the links are not going to become outdated or irrelevant with time. It looks bad to have external links if they simply result in obsolescence. **If (and only if!) external resources are up-to-date ane directly relevant, should they be included.** 2. We need both video tu

Re: Nim Advocacy & Promotion Strategies

2019-01-05 Thread alehander42
Nim can take at typescript: its type system can express a lot of the cool typescript stuff and more(not everything, but a lot), we can probably autotranslate a lot of the definition libs and interop very well with JavaScript code: also you can reuse code from native codebases. The only reasons

difference bw `discard "foo"` and `discard # foo` ?

2019-01-05 Thread timothee
I often see @araq write in this style: $nimc_D/compiler/layouter.nim: [1] discard "do nothing, see #9499" return Run is there any semantic difference with: [2] discard # do nothing, see #9499 return Run or even [3]

Re: Nim nightly builds

2019-01-05 Thread zolern
Great job!

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread deansher
Thank you, @Araq, I'll give that a try! I'll also try some PRs against the macros tutorial.

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread SolitudeSF
arch cant even package nim properly

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread Araq
> So it is hard for me to respond either by submitting bug reports or by > contributing to documentation. Interesting. Since we have enough bug reports, try to create PRs against the manual and see where it gets us. :-)

Re: Nim Advocacy & Promotion Strategies

2019-01-05 Thread deansher
Although I personally am making an earnest effort to use Nim for what I expect to be a large, long-term project, I don't think that's where Nim is right now in any broad sense. Rather, I think Nim is a fascinating exploration in programming language design. It has lots of great ideas, occasional

Re: inserting one template inside another

2019-01-05 Thread deansher
>From what I can tell so far, this works with macros but does not work with >templates. [Here is my >testing](https://github.com/joy-prime/the-edge-of-Nim/blob/master/tests/t_consuming_macro_declared_var.nim). > I would love more information about this!

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread deansher
I love this discussion and agree with most of what has been said. I am looking for the best way to help. @Libman 's proposal is extravagant but appealing. I have a serious worry that's a little different from "documentation not good enough for Nim programmers to get started, be productive, etc."

Re: Nim Advocacy & Promotion Strategies

2019-01-05 Thread bpr
> I wonder if that makes my above point of "Appeal to Python Fans" worthy of a > second look. Nim already has a very Python-like syntax. What is it that you suggest doing differently? > My points about appealing to freedom zealots like myself ("license purists", > refugees from the > politics

Re: List of pending CT evaluation features

2019-01-05 Thread mratsim
I am using Nim CTFE extensively so that we can have: * [big ints at compile-time](https://github.com/status-im/nim-stint) * In VMs and JITs to avoid indirection during dispatch * To generate ["generic" SIMD compute kernels](https://github.com/numforge/laser/blob/990e59fffe50779cdef33aa0b8f2

Re: List of pending CT evaluation features

2019-01-05 Thread deansher
[Idris](https://www.idris-lang.org/) takes CTFE to an extreme, in what strikes me as very elegant ways. Going that far is, at best, experimental -- not something I'd recommend for Nim! -- but I see Idris as a reasonably complete checklist of what's worth considering.

Re: interesting exercise in Nim metaprogramming: Clojure-inspired data

2019-01-05 Thread deansher
@andrea, It's a broad topic. I went looking for a concise existing explanation, but couldn't find it. If you are interested enough to wade through some detail, [this podcast transcript](http://blog.cognitect.com/cognicast-transcripts/103) of an interview with Clojure's creator, Rich Hickey, is g

List of pending CT evaluation features

2019-01-05 Thread rect0x51
Recently I found out about CTFE and started reading all about it. I am very pleased to discover that Nim is currently the #1 language on this topic! Dlang is catching up; they are developing a new [bytecode VM](https://dlang.org/blog/2017/04/10/the-new-ctfe-engine/) for CTFE just like Nim

Re: Enum is undefined in template scope?

2019-01-05 Thread doofenstein
The problem lies in this template: template literal(lit: string, kind: untyped): untyped {.dirty.} = if input == lit: result = Token(kind: kind) Run For both occurences of kind the parameter kind is inserted, which obviously isn't right. This should fix it.

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread juancarlospaco
Easy, just invite more Arch Linux users to Nim. ;P _(phun intended, Arch wiki is known for some of the best Docs)_

Enum is undefined in template scope?

2019-01-05 Thread lqdev
Hello, I'm currently doing some more advanced "macro magic", and have stumbled upon a weird error: type TokenKind* = enum rtLParen, rtRParen # () rtLBracket, rtRBracket # [] rtLBrace, rtRBrace # {} Token* = object kind: TokenKind

Nim nightly builds

2019-01-05 Thread Araq
Thanks to @nc-x's, @genotrance's and @kaushalmodi's efforts, we now offer nightly Nim builds. Cheers! [https://github.com/nim-lang/nightlies/releases](https://github.com/nim-lang/nightlies/releases) Of course, please report if you encounter any troubles.

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread miran
I just realized that on Nim homepage you need to scroll all the way to the bottom (!) to see the "Learn Nim today" section, which just has a link to the first part of the official tutorial. IMO, we can do better than that. See the [issue](https://github.com/nim-lang/website/issues/135) I've jus

Re: inserting one template inside another

2019-01-05 Thread novikov
Sorry I failed to describe my problem an a sufficient way. I was trying to concatenate templates so that a variable defined in one of them is visible in the other one. But without being visible that calls the resulting combined template. You are right I have much to learn yet.

Re: inserting one template inside another

2019-01-05 Thread novikov
Thank you for a useful advice. I create a mock of a procedure. I load module file, get a procedure AST out of it. Then I try to replace its body with assert statements. assert(a == values.a) assert(b == values.b) Run where a and b are arguments of the procedure

Re: Example use of enum with set - doesn't work - yet

2019-01-05 Thread gemath
Just use the right quote character (") for your strings and `BrokerBankLike = set[MyBrokerTypes]` works. U trolling? :o)

Re: inserting one template inside another

2019-01-05 Thread gemath
var n {.inject.} = 1 # makes it visible outside of the template body Run [This](https://nim-lang.org/docs/manual.html#templates-hygiene-in-templates) should help. Work through the macro- and template-related parts of the manual before trying too much, it saves a lot of time.

Re: inserting one template inside another

2019-01-05 Thread alehander42
can't you pass the variable? if you just want to reuse it in a macro, you should generate the name outside and quote let n = ident"n" let first = quote: var `n` = 1 .. let second = quote: `n` = 2 # now first and second are NimNode with tha

Re: "Nim needs better documentation" - share your thoughts

2019-01-05 Thread alehander42
I think that examples are maybe the most important things. Short examples can really help greatly with a lot of stuff. Rust docs are very nice: it's important to also have all the known info about a function there, e.g. pragmas, deprecation info etc(I think it's already there) Links are good: I