Famoahana ny fiteny fandaharana V 0.4.3

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

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS 🔥 Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster