devnews.pl

Main Menu

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania

logo

devnews.pl

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania
Narzędzia
Home›Narzędzia›ReScript 8.4 z przypiętymi zależnościami

ReScript 8.4 z przypiętymi zależnościami

By Bernadeta Zapała
22 grudnia 2020
64
0
Share:

ReScript jest połączeniem łańcucha narzędzi kompilatora BuckleScript i składni języka programowania Reason. Dzięki ujednoliceniu narzędzi programiści otrzymali nowe funkcje. Ten nowy język koncentruje się głównie na lepszej wydajności oraz bezpieczeństwie typów. Ostatnio twórcy opublikowali jego nową wersję – ReScript 8.4.

Przypięte zależności w ReScript 8.4

Pakiety przyporządkowuje się do trzech kategorii– najwyższego poziomu, zależności normalnych i przypiętych. Wcześniej korzystano wyłącznie z działu normalnych zależności i najwyższego poziomu. W związku z poleceniem – bsb –make-world wprowadzono także nową kategorię – przypięte zależności (pinned-dependencies). Będą one kompilowane podobnie do pakietów najwyższego poziomu.

Integralność bsb -make-world

Podczas tworzenia bsb jako systemu kompilacji celem było zachowanie niezmienności założeń. Oznaczało to, że po pierwszym budowaniu nie trzeba przeprowadzać procesu ponownie. W ReScript 8.4 naprawiono integralność bsb -make-world, która wcześniej była przerywana, gdy nie zostanie spełnione jakiekolwiek z założeń. Wielu użytkowników zgłaszało konieczność pojawienia się nowej funkcji. Dlatego też wprowadzona poprawka pozwala użytkownikowi na zmiany w zależnościach.

Implementacja bez pogorszenia wydajności

Ogólnie zmiany zależności powinny być przechodnie – pomiędzy poszczególnymi modułami są optymalizacje. Ponadto sam interfejs binarny jest skrótem jego zależności. Przykładowo, mając trzy zależne od siebie przechodnio pakiety A, B i C, jeśli zmieni się pakiet A, B się nie zmieni, to pakiet C wciąż będzie musiał zostać przebudowany. Dzieje się tak, ponieważ przez zmianę pakietu A, output pakietu B może się zmienić. Jednak największym problemem wydajności jest ponowna instalacja – każdy z pakietów ma swój proces instalacji, więc po ponownej instalacji pakiet wygląda na całkowicie nowo zbudowany.

Integralność w ReScript 8.4

Zmiany w najnowszym wydaniu przynoszą kilka korzyści:

  • Zmiany zależności nie spowodują ponownego parsowania.
  • Dla nieudanej instalacji pakietu, przechodni wykres przebudowy będzie odcięty. Dzięki temu użytkownik oszczędza niepotrzebną kompilację.
  • Jeśli wprowadzane zmiany nie zmienią interfejsu pakietu, to jego elementy zależne nie będą kompilowane.

Nowy algorytm obsługi plików wyjściowych

Usuwanie lub zmiana nazwy plików ReScript prowadzi do przestarzałego punktu wyjścia. Przykładowo, zmieniając nazwę src/A.res na src/B.res plik wyjściowy src/A.cmi będzie nieaktualny. W ReScript 8.4 twórcy wprowadzili algorytm, który poprawi tę sytuację. Usunie on przestarzałe dane wyjściowe przed kompilacją. Dzięki temu integralność projektu nie będzie przerywana.

Źródło: ReScript Blog 

TagsBuckleScriptPinned DependenciesReasonReScript

Share:

  • Narzędzia

    Skanowanie kodu w GitHub ogólnodostępne

  • kite
    FrontendNarzędzia

    Obsługa JavaScript w Kite

  • Informacje

    Nadchodzi 2. edycja konferencji POZITIVE TECHNOLOGIES

  • 21 stycznia 2021

    Narzędzie Vno – połączenie Vue i Deno

  • 19 stycznia 2021

    GitHub Enterprise Server 3.0 RC – kandydat do wydania

  • 15 stycznia 2021

    TypeScript 4.2 Beta z ulepszeniami typów krotek

  • 13 stycznia 2021

    Styczniowy Patch Tuesday z luką 0-day

  • 11 stycznia 2021

    Safari Technology Preview 118 dostępne dla programistów

  • 8 stycznia 2021

    Microsoft Launcher na Androida z usprawnionym dotykiem

  • 7 stycznia 2021

    WebStorm 2020.3.1 dostępny dla urządzeń z Apple Silicon

  • 22 grudnia 2020

    ReScript 8.4 z przypiętymi zależnościami

  • 14 grudnia 2020

    Edge 88 beta i przeglądarka na kanale Canary dostępne!

  • 9 grudnia 2020

    Chrome 88 Beta z nowościami w WebXR

  • 9 grudnia 2020

    Snowpack 3.0 RC z eksperymentalnymi funkcjami

  • 4 grudnia 2020

    Android Studio Arctic Fox – nowe wydanie narzędzia Google

  • 4 grudnia 2020

    The Hack Summit 2020 – konferencja IT Security

  • 2 grudnia 2020

    PowerToys 0.27 z poprawkami błędów

  • 2 grudnia 2020

    Aleph.js alfa z funkcją importowania map

  • 27 listopada 2020

    Cypress 6.0 zwiększa zakres możliwości obsługi sieci

  • 26 listopada 2020

    Firefox 83 przyspiesza i wprowadza tryb HTTPS-Only

  • 25 listopada 2020

    Electron 11.0 z obsługą Apple Silicon

  • 25 listopada 2020

    Prettier 2.2 z obsługą najnowszego TypeScript 4.1

  • 24 listopada 2020

    Tailwind CSS 2.0 z narzędziami kontroli tekstu

  • 20 listopada 2020

    Angular 11 – stabilne wydanie platformy

  • 19 listopada 2020

    Chakra UI React v1 wydany z ulepszeniami

  • 19 listopada 2020

    Chrome 87 z szybszym startem i zmianami w kartach

  • 18 listopada 2020

    Silnik WebKit w przeglądarce Safari 14

  • 17 listopada 2020

    Poznańska konferencja POZITIVE TECHNOLOGIES 2020 platformą wymiany wiedzy i doświadczeń najlepszych specjalistów IT

  • 16 listopada 2020

    Babylon.js 4.2 z edytorem cząsteczek i Babylon React Native

  • 13 listopada 2020

    Apple Silicon M1 i MacBooki – spotkanie One More Thing

  • 12 listopada 2020

    .NET 5.0 Microsoftu z poprawioną wydajnością

  • 12 listopada 2020

    Windows Terminal 1.5 Preview z nowymi funkcjami

  • 10 listopada 2020

    GIMP 2.99.2 – pierwszy krok do głównej wersji

 

 

Jesteśmy pasjonatami najnowszych technologii w świecie programowania. Zbieramy dla Was informacje i porady z całego świata, które sprawią, że Twoja praca stanie się jeszcze bardziej efektywna.

Obserwuj nas codziennie, aby być na bieżąco oraz śmiało udostępniaj nasze posty.

Zespół DevNews

Kategorie

  • Backend
  • Bez kategorii
  • Frontend
  • Gadżety
  • Informacje
  • Języki programowania
  • Narzędzia
  • QA
  • Systemy i przeglądarki

OBSERWUJ NAS

KONTAKT

Chcesz się z nami skontaktować?

Napisz do nas wiadomość: kontakt@devnews.pl

www.devnews.pl | DEVNEWS 2020 | Newsy i ciekawostki ze świata IT