1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

fmt, doc: &; update 0.2 roadmap

This commit is contained in:
Alexander Medvednikov 2020-02-21 18:13:34 +01:00
parent 9e6773cba8
commit 4c95e59d5c
5 changed files with 30 additions and 8 deletions

View File

@ -21,20 +21,14 @@
+ wrap up orm + wrap up orm
+ bring back vweb + bring back vweb
+ fix vorum, migrate to orm + fix vorum, migrate to orm
- wrap up memory management
- remove all compiler memory leaks
+ fix child <T> function calls + fix child <T> function calls
+ enable vfmt + enable vfmt
+ bring back vdoc and regenerate all module docs + bring back vdoc and regenerate all module docs
+ optimize the parser + optimize the parser
- chat.vlang.io
- doom.v
+ v ui + v ui
- ui/orm demo: a simple gui client for postgres/mysql/sqlite
+ ui demo: calculator + ui demo: calculator
- declarative ui with hot reload (similar to swiftui) + declarative ui with hot reload (similar to swiftui)
+ "building a simple blog with vweb" tutorial + + "building a simple blog with vweb" tutorial +
- youtube video
+ fix interfaces + fix interfaces
+ fast.vlang.io + fast.vlang.io
+ bare metal support + bare metal support
@ -42,7 +36,10 @@
+ x64 machine code generation (ELF) + x64 machine code generation (ELF)
+ require explicit C.fn definitions, add all missing definitions + require explicit C.fn definitions, add all missing definitions
+ string.index() ?int + string.index() ?int
- new AST based parser + new AST based parser
- wrap up memory management
- remove all compiler memory leaks
- doom.v

View File

@ -1,4 +1,11 @@
// Copyright (c) 2019-2020 Alexander Medvednikov. All rights reserved.
// Use of this source code is governed by an MIT license
// that can be found in the LICENSE file.
module ast module ast
/*
These methods are used only by vfmt, vdoc, and for debugging.
*/
import ( import (
v.table v.table

View File

@ -73,3 +73,9 @@ fn (this User) fn_with_receiver() {
fn get_user() ?User { fn get_user() ?User {
return none return none
} }
fn get_user_ptr() &User {
return &User{
}
}

View File

@ -77,3 +77,7 @@ println('')
fn get_user() ? User { fn get_user() ? User {
return none return none
} }
fn get_user_ptr() & User {
return &User{}
}

View File

@ -3,6 +3,10 @@
// that can be found in the LICENSE file. // that can be found in the LICENSE file.
module table module table
import (
strings
)
pub type TypeInfo = Array | ArrayFixed | Map | Struct | pub type TypeInfo = Array | ArrayFixed | Map | Struct |
MultiReturn | Alias MultiReturn | Alias
@ -399,5 +403,9 @@ pub fn (table &Table) type_to_str(t Type) string {
if type_is_optional(t) { if type_is_optional(t) {
res = '?' + res res = '?' + res
} }
nr_muls := type_nr_muls(t)
if nr_muls > 0 {
res = strings.repeat(`&`, nr_muls) + res
}
return res return res
} }