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
Języki programowania
Home›Języki programowania›BuckleScript 8.1 – nowa składnia języka oparta na Reason

BuckleScript 8.1 – nowa składnia języka oparta na Reason

By Bernadeta Zapała
7 lipca 2020
122
0
Share:

Nowe wydanie BuckleScript 8.1, nad którym praca odbywała się w tajemnicy, zawiera m.in. przerobiony parser składni Reason. Po prostu nazywa się ją „nową składnią BuckleScript”.  Zmiany w drukarce pozwalają na lepsze komunikaty o błędach składni.

Praca nad nową wersją była ukryta, aby nie tworzyć spekulacji na temat zmian. BuckleScript 8.1 ogłoszono dopiero, gdy twórcy byli pewni stabilności swojego wydania.

Co nowego?

Stworzona składnia pochodzi prosto z instalacji BuckleScript. Nie trzeba instalować innych dodatków, ponadto składnia nie zależy od starego refmt. Obecnie ograniczona jest obsługa edytorów. Jednak trwają pracę nad wydaniem konwertera starszej składni na nową. Twórcy zalecają, aby na razie z konwertera korzystać na mniejszych fragmentach kodu, aby nie zaszkodzić swojej pracy. Aby uniknąć konfliktu między wersjami, zaleca się nowe rozszerzenia plików: .res oraz .resi (do implementacji i interfejsu). Analizator składni jest teraz szybszy w projektach oraz pokazuje komunikaty o błędach.

BuckleScript 8.1

Różnice między BuckleScript a Reason 3.6

W nowej składni BuckleScript 8.1 usunięto całkowicie symbol średnika. Wciąż jednak można z niego korzystać. Ponadto wokół funkcji if, switch oraz try nie ma potrzeby pisania nawiasów. Usunięto także składnię do referencji result^. Teraz można po prostu użyć result.contents.

Przykładowe użycie kodu w BuckleScript 8.1

// src/example.res
if hasEaten {
  Js.log("more dessert please")
} else {
  Js.log("dessert please")
}
let message = j`Hello ${userName->Js.String.toUpperCase}!`
type student<'extraInfo> = {
  name: string,
  age: int,
  otherInfo: 'extraInfo,
}
@bs.val external window: {..} = "window"
window["addEventListener"]("focus", onFocus)

Pytania o nową składnię BuckleScript 8.1

Wydanie nowej składni zrodziło wiele pytań programistów –  czy BuckleScript będzie miała wpływ na istniejący już kod lub czy w przyszłości pisząc w OCaml lub Reason będzie można kompilować do BuckleScript. Twórcy w specjalnym poście na swoim blogu odpowiedzieli na wiele wątpliwości.

Nowa składnia jest czysto addytywna, istnieje obok składni OCaml i Reason. Wsparcie Reason z BuckleScript będzie utrzymywane przez długi czas. Nadal będzie można także pisać w OCaml i Reason i kompilować w BuckleScript. Jeśli kiedykolwiek w przyszłości w BuckleScript będą usuwane funkcje językowe, to będzie się to odbywało na poziomie składni.

Problemy dotyczące nowej składni będą na stronie GitHub, by zmniejszyć obciążenie głównej strony repozytorium BuckleScript.

TagsBuckleScriptBuckleScript 8.1Reason

Share:

  • Backend

    Nowe funkcje w Java Development Kit 15 (JDK 15)

  • Informacje

    Praca w IT w dobie pandemii koronawirusa

  • Narzędzia

    Rozszerzenie C++ 1.0 dla Visual Studio Code

  • 25 lutego 2021

    ReacType 5.0 – zmiany we wprowadzaniu komponentów

  • 23 lutego 2021

    Dapr v.1.0 gotowy do fazy produkcji

  • 22 lutego 2021

    ReScript 9.0 z zewnętrzną konfiguracją stdlib

  • 22 lutego 2021

    One UI 3.1 z ciekawymi nowościami dla urządzeń Samsunga

  • 22 lutego 2021

    Windows Terminal Preview 1.6 z nową sekcją ustawień

  • 15 lutego 2021

    Visual Studio Code 1.53 z ulepszeniami debugowania

  • 8 lutego 2021

    Edge 89 beta, Edge Dev 90 i nowości na kanale Canary

  • 2 lutego 2021

    Firefox 85 i Firefox Nightly – nowe wersje przeglądarki Mozilli

  • 29 stycznia 2021

    Billboard.js 2.2.0 z nowymi funkcjami wykresów

  • 26 stycznia 2021

    Kendo UI R1 2021 – nowości dla bibliotek

  • 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

 

 

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