fmt, doc: &; update 0.2 roadmap
parent
9e6773cba8
commit
4c95e59d5c
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -77,3 +77,7 @@ println('')
|
||||||
fn get_user() ? User {
|
fn get_user() ? User {
|
||||||
return none
|
return none
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_user_ptr() & User {
|
||||||
|
return &User{}
|
||||||
|
}
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue