Delyan Angelov
2ac80485c0
C backend: fix a couple of C warnings on Linux
2019-10-01 14:35:59 +03:00
Alexander Medvednikov
841d824216
builtin: a very early version of the hashmap
2019-10-01 06:20:50 +03:00
hazohelet
6d483c0a56
parser: float1 == float2 uses machine epsilon by default
2019-09-29 18:27:53 +03:00
Delyan Angelov
366c50674c
tooling: add tools/compare_v_performance_between_commits
...
easily compare v performance/size across commits.
* fix eprintln on linux (it now uses stderr, and flushes it).
* flag: cleaner usage information.
2019-09-28 14:17:16 +03:00
hazohelet
fd2d9c214c
f64: fix .eq()
2019-09-28 14:04:03 +03:00
Delyan Angelov
6bba4b1be0
string: document the tradeoffs for V strings
2019-09-28 13:54:30 +03:00
Alexander Medvednikov
60eb73adb4
array: single element array test
2019-09-28 13:52:38 +03:00
lutherwenxu
a4d2633a33
string: Properly null-terminate repeated string
2019-09-28 13:31:12 +03:00
Alexander Medvednikov
a5391c8882
string.repeat: re-write without a libc function call
2019-09-28 02:51:42 +03:00
Alvydas Vitkauskas
931b71c428
string: improve repeat()
2019-09-27 15:49:09 +03:00
Don Alfons Nisnoni
fb4f14ba76
string: add repeat() method
2019-09-26 22:54:53 +03:00
joe-conigliaro
8974aa4513
compiler/vlib: change `_ :=` to `_ =` and disable `_ :=`
2019-09-25 15:10:45 +03:00
Alexander Medvednikov
ab52b453cb
map: make .keys() pure
2019-09-25 05:56:10 +03:00
Alexander Medvednikov
f7d8fb0cf4
string: bring back old index() without an allocation
2019-09-23 23:34:42 +03:00
Alexander Medvednikov
8d52d877fb
compiler: free local_vars
2019-09-23 22:16:52 +03:00
joe-conigliaro
23c84516e2
compiler: error on unused imports
2019-09-23 13:42:20 +03:00
Alexander Medvednikov
b4207e1be7
compiler: allow "u64_var == 0" without casting the const literal
2019-09-23 02:14:10 +03:00
Alexander Medvednikov
a232b215a7
double quotes for denoting strings
2019-09-21 17:18:02 +03:00
vitalyster
111007470e
array: malloc => calloc
2019-09-21 02:29:09 +03:00
Henrixounez
ffcff9ebd4
builtins: ustring comparisons, concatenation and other functions
2019-09-20 19:07:38 +03:00
Alexander Medvednikov
a94c1556ce
array: remove temporary repeat2()
2019-09-19 05:22:24 +03:00
Alexander Medvednikov
cb31eeec55
compiler: first step to require explicit definition of imported C fns
2019-09-19 05:16:25 +03:00
Alexander Medvednikov
d1500511e6
"none" keyword for optionals + more memory fixes
2019-09-18 14:15:10 +03:00
Alexander Medvednikov
0a2f7a6ba7
fix tests
2019-09-17 13:37:25 +03:00
Alexander Medvednikov
1397d532c6
compiler: check if mutable receivers are modified
2019-09-17 13:10:43 +03:00
Alexander Medvednikov
c76d09f9a5
make V.js compile
2019-09-16 18:31:13 +03:00
hazohelet
9158ba4640
vlib: add Android checks to build V on Android
2019-09-16 18:23:11 +03:00
Alexander Medvednikov
849bef987c
more C warnings fixed
2019-09-15 15:53:57 +03:00
Alexander Medvednikov
3e923871cf
compiler: use *char() cast in C functions to afix warnings
2019-09-15 15:19:18 +03:00
joe-conigliaro
f077fbd32d
vlib: change `[0;n]` to `[0].repeat(n)`
2019-09-15 12:26:05 +03:00
Henrixounez
602e472b8a
builtin: getchar for unicode characters
2019-09-15 04:41:24 +03:00
Alexander Medvednikov
5cc81b91cb
JavaSript backend (early stage)
2019-09-15 03:49:57 +03:00
Alexander Medvednikov
9dd86f6fb8
compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn"
2019-09-13 15:47:31 +03:00
Henrixounez
af60f9ead4
compiler: escapes quote on literals
2019-09-11 15:48:08 +03:00
Alexander Medvednikov
9853323157
array: make ".contains()" private, use "in" everywhere
2019-09-11 15:12:13 +03:00
Alexander Medvednikov
00687de43b
memory: clean up all arrays in the V compiler
2019-09-09 13:55:47 +03:00
Alexander Medvednikov
76a89c832e
parser: small optimizations
2019-08-26 01:19:39 +03:00
joe-conigliaro
79d4d56fe5
string: implement is_space in V & make trim_space use trim
2019-09-06 13:22:37 +03:00
vitalyster
38d26c8080
Travis: run msvc tests
2019-09-03 20:15:08 +03:00
Delyan Angelov
c9a39dfdb5
compiler: build tetris executable on windows with both msvc and mingw gcc
2019-09-03 16:09:43 +03:00
Joe Conigliaro
1f67d9edd8
fix bugs breaking tests
2019-09-03 15:21:52 +03:00
Vitaly Takmazov
83d724fb70
print_backtrace: do not use printf directly
2019-09-03 11:09:55 +03:00
Alexander Medvednikov
1c6d51f271
remove u8 and i32 from tests and examples
2019-09-02 15:02:25 +03:00
Alexander Medvednikov
0e2c41e0f9
replace *Foo with &Foo everywhere
2019-09-01 22:51:16 +03:00
Alexander Medvednikov
3bd7bcfac3
remove u8 and i32 aliases
2019-09-01 22:37:22 +03:00
Alexander Medvednikov
4edccce9a3
array: sort ints
2019-09-01 22:30:49 +03:00
Alexander Medvednikov
bfa6505636
compiler: replace &Type with Type
2019-09-01 14:05:03 +03:00
Alexander Medvednikov
961e778ed1
map_test.v: format + ref test
2019-09-01 14:05:03 +03:00
Alexander Medvednikov
72363ada84
array: make .set() private + format
2019-08-31 02:35:05 +03:00
kawa-yoiko
4f0f99e663
parser: fix mutability with chained fields
2019-08-30 20:19:06 +03:00
Alexander Medvednikov
2fe20cd092
compiler: fix struct order bug
2019-08-29 23:46:12 +03:00
Henrixounez
29e0396eca
compiler: adds handling of two variables for loop on string
2019-08-29 21:41:16 +03:00
Delyan Angelov
c92654a044
fix building v on alpine with musl libc
2019-08-28 19:26:18 +03:00
Delyan Angelov
73c6bae480
print backtraces on panic on mac and linux
2019-08-27 23:29:13 +03:00
joe-conigliaro
02fc7e14cd
make trim use cutset like trim_right/trim_left
2019-08-27 22:53:32 +03:00
joe-conigliaro
857cf00caf
builtin.string: make trim_left/right() behave correctly
2019-08-26 14:18:58 +03:00
Swastik Baranwal
db525524ee
string: title() and small fixes
2019-08-26 13:32:53 +03:00
Henrixounez
f22d5c5624
vlib: remove negative checks on unsigned ( #1728 )
2019-08-25 01:48:38 +03:00
Alexander Medvednikov
cd10890258
minor tcc fixes
2019-07-08 03:44:47 +02:00
Alexander Medvednikov
7fd9827318
all: add missing includes
2019-08-24 02:48:47 +03:00
Alexander Medvednikov
dcfc9eb1a1
remove from the language
2019-08-22 23:19:31 +03:00
Alexander Medvednikov
eb5fcafa77
table: TypeCategory; freetype: remove C code; [typedef] C structs;
...
Objective-C interfaces
2019-08-22 22:18:55 +03:00
Henrixounez
780ddaf22b
compiler: handles printing of structures and arrays of structures
2019-08-22 14:34:33 +03:00
Henrixounez
9b3b22d6b3
compiler: allows compound assignment operators on array
2019-08-22 04:57:43 +03:00
Delyan Angelov
49899c649c
orm: fix select .. limit 1 . This case now returns an ?Row.
2019-08-20 16:33:14 +03:00
Alexander Medvednikov
f9fb6f0be4
orm_test: remove pg import for now
2019-08-18 15:02:36 +03:00
Alexander Medvednikov
fe2d2bd2a3
fmt: remove trailing spaces
2019-08-17 22:21:43 +03:00
Alexander Medvednikov
60bf668281
string: fix trim_right
2019-08-17 20:07:40 +03:00
Alexander Medvednikov
94b900bd0a
map: allow array values
2019-08-16 23:28:47 +03:00
Alexander Medvednikov
b188ecf680
Makefile: re-write `make test` in V
2019-08-16 16:51:46 +03:00
Alexander Medvednikov
bc563930f7
string: remove abs()
2019-08-12 21:16:01 +03:00
Alexander Medvednikov
ef2ab31e88
sql: only accept strings and ints for now
2019-08-12 21:07:03 +03:00
Alexander Medvednikov
15a42f1f35
array.clone()
2019-08-12 14:41:40 +03:00
Henrixounez
872aa536d8
compiler: unsigned number properly printed and converted to string
...
fix: array accessing now works with unsigned numbers
2019-08-12 09:15:53 +03:00
Alexander Medvednikov
8c3475b902
generate `.str()` for all arrays
2019-08-11 22:39:45 +03:00
Nick Treleaven
ea30ba4555
map: remove temporary fields _keys, key_i
2019-08-11 19:43:21 +02:00
Alexander Medvednikov
8f8e0dfad7
V ORM
2019-08-10 13:35:29 +02:00
Julian Schurhammer
1864e92ff4
parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly
2019-08-10 10:26:42 +02:00
Alexander Medvednikov
181a39d752
fix int_test.v
2019-08-09 10:21:21 +02:00
Alexander Medvednikov
ae0e3efb8e
scanner: experimental ≠ etc support
2019-08-09 09:32:51 +02:00
Julian Schurhammer
61983a6799
parser: check that functions return in all if/else branches
2019-08-08 09:49:56 +02:00
Alexander Medvednikov
ff6e0df0a5
array: minor fixes
2019-08-07 13:39:54 +02:00
Alexander Medvednikov
818c4a14e5
compiler: fix a bug with mutable array args
2019-08-07 12:36:45 +02:00
Alexander Medvednikov
52f473d1c7
all: fix immutable fn args
2019-08-07 05:28:00 +02:00
Alexander Medvednikov
bea8f6d7e5
http: remove libcurl dependency; replace it with a simple OpenSSL backend
2019-08-06 13:32:09 +02:00
Alexander Medvednikov
7a7b5040e2
http: fix response headers and status code; clean up ft and gg
2019-08-06 03:06:27 +02:00
Joe Conigliaro
2fab73983b
add builtin import pass + use builder in map
2019-08-05 06:01:53 +02:00
Alexander Medvednikov
5ed338dc2e
bring back map.str()
2019-08-05 04:34:12 +02:00
Alexander Medvednikov
350e13679c
force `()` in complex bool expressions: `(a && b) || c` instead of `a && b || c`
2019-08-05 03:22:28 +02:00
Alexander Medvednikov
ee437de8d3
type name check fixes
2019-08-04 09:38:46 +02:00
Alexander Medvednikov
8bce5cb810
force snake_case in struct fields
2019-08-04 09:18:16 +02:00
Alexander Medvednikov
576192949d
fixed size array with const size: `numbers := [N]int`
2019-08-04 04:11:16 +02:00
Alvydas Vitkauskas
331d6f98ee
string: fix bug and add tests for string.count
2019-08-03 22:24:03 +02:00
Alexander Medvednikov
e446f988f7
clean up map initialization
2019-08-03 10:26:36 +02:00
Alexander Medvednikov
a5f5b52204
`map := { 'foo': 'bar' }` syntax
2019-08-03 10:20:04 +02:00
Joe Conigliaro
bfddb9a80f
make array.hex() use lowercase
2019-08-03 08:23:13 +02:00
Alvydas Vitkauskas
bfdce806c4
fix string.count
2019-08-03 03:41:15 +02:00
joe-conigliaro
faf2f9920e
string.v: string.count(substr)
2019-08-02 23:30:22 +02:00
Vitaly Takmazov
910f350a26
string_test: fix randomly failed test
...
* memory should be initialized with zeros before creating string
* there is no string([]array) constructor, string(byteptr) does not count length correctly, using string(byteptr, len) to fix
2019-08-02 19:20:36 +02:00
unknown-v
a27165f07e
add []u64.str()
2019-08-02 06:07:16 +02:00