@moerm 0.19.9 is devel, 0.19.2 is the last stable release.
Great (although I personally prefer halfway stable releases) Thank you.
Out of curiosity: how come the jump from 19.2 -> 19.9?.
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
CTE for methods is missing. There must be more.
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")
> 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
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) :)
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
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
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]
Great job!
Thank you, @Araq, I'll give that a try! I'll also try some PRs against the
macros tutorial.
arch cant even package nim properly
> 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. :-)
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
>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!
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."
> 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
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
[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.
@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
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
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.
Easy, just invite more Arch Linux users to Nim. ;P
_(phun intended, Arch wiki is known for some of the best Docs)_
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
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.
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
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.
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
Just use the right quote character (") for your strings and `BrokerBankLike =
set[MyBrokerTypes]` works. U trolling? :o)
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.
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
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
33 matches
Mail list logo