Simple, fast, safe, compiled language for developing maintainable software.

Joined February 2019
347 Photos and videos
`v install module` now exits with an error if the existing module directory is a git repository that has uncommitted changes (staged, unstaged, or untracked) or local commits not pushed to any remote. That was implemented after `v install` wiped all local unpushed changes :)
48
2,805
V's new and improved compiler backend can now not only compile itself, but also web apps like gitly.org, 3 times faster than current V. The plan is to make it the default by the end of the summer, but it will have to pass all the thousands of tests first.

4
11
106
3,503
V's builtin Postgres driver (which is also used in V ORM) is now thread safe, like in Go. You no longer have to use connection pools. MySQL, sqlite, MSSQL drivers are getting this soon too.
8
8
128
5,179
Should the compiler warn about unused function parameters? (see the screenshot in the first reply)
74% Yes
26% No
278 votes • Final results
25
35
18,925
V has a flexible memory management system. You can disable the default GC and manage memory manually, or use arenas. A great use case for arenas is web apps. Allocate everything for a request in one arena, then free it all at once when the request finishes: v -prealloc veb_app
5
7
93
5,290
Panic backtraces are now a lot nicer. They show full file paths with line numbers and method names, so you can jump straight from a crash to the exact code that caused it. Don't forget to use `v -g` for such backtraces.
1
6
58
2,334
Mustela, an ultra-fast static site generator in V: codeberg.org/mustela/web mustela.vercel.app 9,000 pages/second. Zero-copy architecture. "Building Mustela in V was a breeze. The performance I'm getting without a complex GC is exactly why I chose the language."
5
7
87
4,209
You can run `v git-fmt-hook install` in your repo, and `v fmt` will be run on all your V files on every commit.
1
42
2,228
Why can't compilers fix such simple errors? It knows the var must be declared as mutable, and it's a very common error, so why not just fix it? We're considering implementing v -autofix foo.v for this. It'd be very useful when used in VS Code, for example. Should we add this?
35
1
104
11,537
The V repo now has 830k lines of code! Of those, 225k lines are tests. V still compiles itself in 0.6 seconds on M5!
6
17
385
23,362
V now has <50 open bugs! 10k bugs have been fixed. (We don't have a stale issue bot, each of those bugs has actually been fixed.) We're out of bugs, please report more :)
13
14
300
22,271
V now supports operator overloading for []
1
3
78
4,181
V's new compiler now has incremental compilation enabled by default! For now, it works at the module level. For example, if you’re working on V and modify the scanner module, only that module will be recompiled to produce the binary. You can try V2 with v -v2 file.v
2
7
105
3,515
Veb, V's builtin web framework, now supports SSL natively!
8
10
192
9,657
V now has its own GC in pure V! v -gc vgc . Right now It's significantly slower than the default Boehm GC, but it's a good start. The performance will be improved. Having a GC in pure V is much better than relying on a C library.
4
18
131
5,430
We've migrated most of our CI from YAML to VSH. Now everything is `v run macos_ci.vsh <task_name>`. This is easier to maintain, run locally, makes it possible to use other CI providers, and most importantly no more YAML! :D
2
2
55
2,145