Taorian'ny 40 andro nanaovana ny fampandrosoana, dia navoaka ny dikan-teny vaovao amin'ny fiteny fandaharana V (vlang). Ny tanjona lehibe indrindra amin'ny famoronana V dia ny fanamorana ny fianarana sy ny fampiasana, ny famakiana avo lenta, ny fanangonana haingana, ny fiarovana ny fiarovana, ny fampivoarana mahomby, ny fampiasana cross-platform, ny fanatsarana ny fifandraisana amin'ny fiteny C, ny fitantanana ny fahadisoana tsara kokoa, ny fahaiza-manao maoderina, ary ny programa azo tazomina kokoa. Ny code compiler, tranomboky ary fitaovana mifandraika dia misokatra amin'ny alàlan'ny lisansa MIT.
Ao amin'ny dikan-teny vaovao:
- Fanatsarana ny fiteny:
- Module vaovao "encoding.xml miaraka amin'ny parser, validation, fitsapana unit.
- Fanatsarana ny fanohanana ny couroutine (IO, tambajotra).
- Ahena hatramin'ny 80% ny fampandehanana fitadidiana amin'ny rindranasa vweb.
- Fampiharana ny "@VCURRENTHASH" hanoloana ny "C.V_CURRENT_COMMIT_HASH".
- Nanomboka ny fampiroboroboana karazana int vaovao, mifandray amin'ny karazana i64 (teo aloha, ny karazana int dia fantatra tamin'ny karazana i32).
- Fitsipika fanamarinana karazana raikitra ho an'ny karazana int vaovao sy famoronana kaody optimized.
- Ny fanovana API izay manimba ny fifanarahana:
- Ny rakibolana "Request.cookies" dia tsy ampiasaina intsony. Nosoloina “Request.cookie()” sy “Request.add_cookie()”.
- Fitsipika henjana kokoa ho an'ny karazana C, izay tsy maintsy ambara foana.
- Karazana fanovana rafitra fanaraha-maso:
- Ny fampitandremana momba ny fisarahana safidy/vokatra dia nafindra ho sokajy fahadisoana.
- Amboary ny fiantsoana "fn" miaraka amin'ny tohan-kevitra azo atao amin'ny maodely autofree.
- Niverina indray ny fanamarinana anarana: case pascal ho an'ny aliases.
- C.xx = C.yy aliases.
- Avelao ny fanaparitahana karazana integer ho isan-karazany amin'ny sakana matematika.
- Fampitandremana momba ny fanafoanana ny karazana byte (manohana ny karazana u8) rehefa ampiasaina ho mari-pamantarana fn.
- Amboary ny fomba ampiana ho an'ny array generic.
- Fanamarinana ny fahadisoana amin'ny fampiharana ny interface manokana amin'ny maody hafa.
- Fanamarinana tsara ny sandan'ny cap sy len ratsy rehefa manomboka array.
- Ny famadihana ny fampitandremana momba ny anaran'ny module var sy param duplicate ho diso.
- Avelao hanova ny fari-piainana iombonana manontolo (raha mitazona ny toetry ny mutex teo aloha).
- Fanatsarana parser:
- Namboarina ny fametrahana fomba static amin'ny fiasa tsy mitonona anarana.
- ast: Fandrafetana raikitra ny fanambarana struct miaraka amin'ny rafitra nested.
- Nampiana set_all + clear_all fomba ho an'ny "[flag]" bitfields.
- Mampitandrina momba ny fanafarana tsy ampiasaina, na dia nambara tamin'ny "import math { sin, cos }" aza izy ireo.
- Fanovana ny compiler:
- checker, builder, pref: tohano ny saina "-dump-defines" mba hijerena ny famaritana mpampiasa sy rafitra rehetra misy ho an'ny programa iray.
- sarintany: nampiana maps.merge() sy maps.merge_in_place().
- Tranomboky mahazatra:
- builtin: nampiana fomba "tsy azo antoka {a.reset()}" mba hametrahana haingana ny bytes rehetra amin'ny array ho 0.
- math.fractions: Mampiasà asa be loatra amin'ny operator ary atsaharo ny fiasa taloha.
- gg: Manamboara draw_rounded_rect_empty ambany sisintany amin'ny macos sy linux.
- crypto.bcrypt: bug raikitra ao amin'ny bcrypt.
- sokol: nohavaozina amin'ny dikan-teny farany
- builtin: raikitra sizeof(C.BOOL) (windows manokana).
- math.big: Amboary ny fizarana diso miaraka amin'ny isa ratsy.
- os: Nampiana fomba mety tsy hiraharaha ny famantarana rafitra sasany.
- os: amboary ny os.ls(folder) amin'ny windows rehefa tsy afaka misokatra ny lahatahiry voaaro.
- crypto.sha/md5/: Fikajiana raikitra ny soatoavina tenifototra mitovy rehefa miantso .sum() imbetsaka ho an'ny sha1/256/512.
- os: nampihatra os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1.
- json2: fanohanana fanampiny ho an'ny rafitra nested.
- Web
- vweb: nampiana karazana mime ho an'ny rakitra .md static.
- net.conv: Fampiasa fanampiny varinttou64 sy u64tovarint ho an'ny fanodinana miovaova ny isa tsy misy sonia voalaza ao amin'ny rfc-9000 (ho an'ny QUIC).
- net.http: fanohanana manondro ny on_running, on_stopped, on_closed callback functions ao amin'ny http.Server{}, ary koa ny show_startup_message: false.
- net.http: Fanohanana ny fidirana amin'ny proxy HTTPmpizara ao amin'ny http.fetch.
- net.http: Manampia mekanika andrana indray amin'ny http.fetch() raha misy hadisoana tsy azo ihodivirana.
- wasm: assemblée inline nampiharina.
- net.http: nitombo ho 16 ny sanda max_redirects.
- picoev: fampiharana ny fomba manta ho an'ny asa mivantana miaraka amin'ireo mpamoritra rakitra.
- net.http: fanampiana fanampiny ho an'ny socks5 sy http(s) proxy ho an'ny rafitra mitovy amin'ny unix.
- ORM:
- orm: manampy ny fitantanana ny sanda tsy misy dikany sy ny saha azo atao.
- orm: Ny hetsika is_null/is_not_null dia atao tsy misy dikany.
- Mpamily angona:
- pg: Nafindra tany amin'ny rakitra .cv ny antso C.
- Native backend:
- teratany: fanohanana ny sainam-pirenena -no-builtin (mamokatra rakitra azo ampiasaina < 1 KB) Linux mampiasa "v -no-builtin -b native examples/hello_world.v").
- teratany: mampiasa i32 fa tsy int.
- C-backend:
- ast, native, cgen: nanampy fanohanana ny "$if native {}".
- vfmt:
- Esory izao ny fiatoana andalana fanampiny aorian'ny call_expr sy alohan'ny arguments structure.
- Ahitsio ny sanda raikitra rehefa mampiasa fanalahidy misy tarehintsoratra uft8.
- Fandrindrana ny fitenenana ternary amin'ny const blocks.
- Fitaovana:
- Nampiana @LOCATION ny fanohanan'ny fanamorana ny debugging tsy mila manambatra ny @FILE sy @LINE amin'ny fotoana fandehanana.
- benchmark: nampiana fomba vaovao b.record_measure/1 sy b.all_recorded_measures/0.
- ci: github workflow c2v nohavaozina.
- tady: nampiana fomba Bulder.write_decimal/1 (ho an'ny fanoratana isa isa, tsy misy famatsiana fanampiny).
- Ny fametrahana mody efa misy mampiasa vpm (windows) dia raikitra.
- tools.vpm: asa nohatsaraina miaraka amin'ny adiresy mifarana amin'ny ".git".
- Fanampiana takiana amin'ny rakitra v.mod hametrahana mody amin'ny alàlan'ny rohy ivelany mampiasa vpm.
Source: opennet.ru
