Fa'asa'olotoga gagana fa'apolokalame V 0.4.3

I le mae'a ai o aso e 40 o le atina'e, ua fa'asalalauina se fa'amatalaga fou o le gagana fa'akomepiuta V (vlang). O sini autu i le fatuina o le V o le faigofie o le aʻoaʻoina ma le faʻaogaina, maualuga le faitau, faʻapipiʻi vave, faʻaleleia atili le saogalemu, faʻaleleia lelei, faʻaoga faʻasolosolo, faʻaleleia le fesoʻotaʻiga ma le gagana C, sili atu le faʻaogaina o mea sese, gafatia faʻaonaponei, ma sili atu polokalame faʻaleleia. O le code compiler, faletusi ma mea faigaluega faʻapitoa o loʻo tatala i lalo ole laisene MIT.

I le lomiga fou:

  • Fa'aleleia gagana:
    • Vaega fou "encoding.xml ma parser, faʻamaonia, suʻega iunite.
    • Fa'aleleia atili le lagolago mo couroutine (IO, feso'ota'iga).
    • Fa'aiti'itia le fa'asoaina o manatuaga i vweb applications e 80%.
    • Fa'atinoina o le "@VCURRENTHASH" e sui ai le "C.V_CURRENT_COMMIT_HASH".
    • O le faʻalauiloaina o se ituaiga fou int ua amata, e fesoʻotaʻi ma le ituaiga i64 (muamua, o le int type na faʻaalia i le i32 type).
    • Fa'atonu tulafono siaki mo le ituaiga int fou ma le fa'atupuina o tulafono fa'apitoa.
  • Suiga API e motusia le fetaui:
    • Le lomifefiloi "Request.cookies" ua le toe faaaogaina. Suia e le "Request.cookie()" ma le "Request.add_cookie()".
    • Tulafono fa'amalosi mo ituaiga C, lea e tatau ona fa'ailoa i taimi uma.
  • Suiga faiga su'esu'e ituaiga:
    • O le lapataiga e uiga i le filifiliga / vaevaega iʻuga ua siitia i se vaega sese.
    • Fa'asa'o le vala'au "fn" fa'atasi ai ma se finauga fa'apitoa ile faiga e leai se totogi.
    • Fa'aigoa siaki ua toe fo'i: pascal case mo igoa fa'aigoa.
    • C.xx = C.yy aliases.
    • Fa'ataga le tu'uina atu o ituaiga numera e fai ma laina i poloka numera.
    • Lapataiga e uiga i le faʻaaogaina o le ituaiga byte (faʻapitoa i le ituaiga u8) pe a faʻaaogaina o se fn parameter.
    • Fa'amau auala fa'aopoopo mo fa'asologa lautele.
    • Siakiina mo se mea sese i le faʻatinoina o le faʻaoga tumaoti o se isi module.
    • Fa'amautu le siakiina o le pulou leaga ma len tau pe a amataina se laina.
    • Liliu le lapataiga e uiga i le faaluaina o igoa var ma param module i se mea sese.
    • Fa'ataga le toe fa'atulagaina o le fesuia'iga fa'asoa atoa (a'o fa'atumauina le tulaga muamua o le mutex).
  • Fa'aleleia atili o Parser:
    • Fa'amauina le tu'uina atu o se auala fa'atumauina i galuega e le fa'ailoaina.
    • ast: Fa'atulagaina fa'amautu o le ta'utinoga fa'avae fa'atasi ma le fa'aputuga.
    • Fa'aopoopo seti_all + clear_all metotia i le "[flag]" bitfields.
    • Lapata'i e uiga i fa'aulufale mai e le'i fa'aaogaina, tusa lava pe fa'ailoa mai i le "import math { sin, cos }".
  • Suiga tu'ufa'atasi:
    • siaki, faufale, muamua: lagolago le "-dump-defines" fu'a e va'ai ai tagata fa'aoga avanoa uma ma fa'auigaina o le polokalama mo se polokalame.
    • fa'afanua: fa'aopoopo maps.merge() ma maps.merge_in_place() galuega.
  • Faletusi masani:
    • builtin: fa'aopoopo "le saogalemu {a.reset()}" auala e fa'atulaga vave uma ai paita i se laina i le 0.
    • math.fractions: Fa'aoga le fa'atonuina o le tele o uta ma lafoa'i galuega tuai.
    • gg: Fa'asa'o le draw_rounded_rect_empty laina pito i lalo ile macos ma linux.
    • crypto.bcrypt: faʻamautu pusa i le bcrypt.
    • sokol: fa'afou i le lomiga lata mai
    • fausia: fa'amauina le tele(C.BOOL) (fa'amalama fa'apitoa).
    • math.big: Fa'asa'o le vaevaega sese ma numera le lelei.
    • os: Faʻaopoopoina se auala faigofie e le amanaʻia ai nisi faʻailoga faʻaoga.
    • os: faʻapipiʻi os.ls(folder) i faʻamalama pe a le mafai ona tatalaina le faʻamaumauga puipuia.
    • crypto.sha/md5/: Fuafuaga fa'amauina o fa'atauga hash tutusa pe a vala'au .sum() fa'atele mo sha1/256/512.
    • os: fa'atinoina os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1.
    • json2: faʻaopoopo le lagolago mo fausaga faʻapipiʻi.
  • apogāleveleve
    • vweb: fa'aopoopo ituaiga mime mo faila static .md.
    • net.conv: Fa'aopoopo galuega varinttou64 ma le u64tovarint mo le fa'aliliuga fesuia'i o numera e le'i fa'ailoaina i le rfc-9000 (mo QUIC).
    • net.http: lagolago o lo'o fa'amanino ai le on_running, on_stopped, on_closed callback functions i http.Server{}, fa'apea fo'i le show_startup_message: sese.
    • net.http: Lagolagoina o le HTTP proxy passthroughsapalai i le http.fetch.
    • net.http: Fa'aopoopo se masini toe taumafai i le http.fetch() mo fa'aletonu socket e le maalofia.
    • wasm: fa'atinoina fa'atasiga i totonu.
    • net.http: max_redirects tau fa'asili i le 16.
    • picoev: faʻatinoina o le faiga faʻapitoa mo galuega tuusaʻo ma faila faila.
    • net.http: faaopoopo lagolago mo socks5 ma http(s) sui mo faiga unix-pei.
  • ORM:
    • orm: faʻaopoopo le faʻaogaina o tau aoga ma avanoa e filifili ai.
    • orm: O fa'agaioiga is_null/is_not_null e faia fa'atasi.
  • Avetaavale fa'amaumauga:
    • pg: C telefoni ua si'i atu ile .cv faila.
  • Fa'asinomaga pito i tua:
    • tagatanuu: lagolago -no-fausia fu'a (fausia <1KB Linux executables ma "v -no-builtin -b fa'ata'ita'iga fa'aletagata/hello_world.v").
    • tagatanuu: fa'aoga i32 nai lo le int.
  • C-i tua:
    • ast, native, cgen: faaopoopo le lagolago mo "$if native {}".
  • vfmt:
    • Ave'ese nei fa'aputu laina fa'aopoopo pe a uma call_expr ma a'o le'i fa'atulagaina finauga.
    • Fa'amautu le tau fa'aoga pe a fa'aoga ki i uft8 mataitusi.
    • Fa'asoaga o fa'amatalaga ternary i poloka const.
  • Mea faigaluega:
    • Fa'aopoopo le lagolago @LOCATION e fa'afaigofie ai le fa'aogaina e aunoa ma le tu'ufa'atasia o le @FILE ma le @LINE ile taimi ta'avale.
    • fa'ailoga: fa'aopoopo auala fou b.record_measure/1 ma b.all_recorded_measures/0.
    • ci: github workflow c2v faʻafouina.
    • manoa: fa'aopoopo Bulder.write_decimal/1 auala (mo le tusiaina o se numera tesimale, e aunoa ma ni fa'asoa fa'aopoopo).
    • O le fa'apipi'iina o se module o lo'o iai e fa'aaoga ai le vpm (windows) ua fa'amautu.
    • tools.vpm: fa'aleleia galuega ma tuatusi fa'ai'u i le ".git".
    • Faʻaopoopo manaʻoga mo se faila v.mod e faʻapipiʻi modules e ala i fesoʻotaʻiga i fafo e faʻaaoga ai le vpm.

puna: opennet.ru

Faaopoopo i ai se faamatalaga