Cyclone

język programowania

Cyclone jest niskopoziomowym językiem programowania, którego korzenie sięgają języka C. Został tak zaprojektowany, by uniknąć głównych wad swojego pierwowzoru.

Wskaźniki w Cyclone dzielą się na cztery grupy:

  • zwykłe wskaźniki (takie jak w C) – ograniczona możliwości rzutowania, jest zabroniona arytmetyka wskaźników; Cyclone przy dereferencji wskaźnika (np. rekord→pole) sprawdza czy wskaźnik ma wartość NULL.
  • fat pointers ("grube" wskaźniki) – wskaźnik jest samoopisujący: zawiera zarówno adres obszaru pamięci, jak również rozmiar tego obszaru; arytmetyka wskaźników jest dowolna, bowiem łatwo wykryć próby dostępu do pamięci spoza przydzielonego zakresu;
  • not-NULL pointers (niepuste wskazania) – Cyclone gwarantuje że taki wskaźnik nigdy nie będzie miał wartości NULL.
  • wskaźniki na łańcuch znaków zakończony zerem.

W Cyclone wprowadzono regiony pamięci, które mogą być statyczne lub dynamiczne (tworzone w trakcie działania programu). Z regionem pamięci powiązane są wskaźniki, tak że jeśli region jest niszczony (np. został stworzony w funkcji, która już została zakończona) to wszystkie wskaźniki – a ogólnie: obiekty stworzone w jego zakresie – automatycznie stają się nieważne.

Dodatkowe cechy tego języka to: wyjątki znane z C++, ułatwienia w tworzeniu tablic (automatyczna alokacja pamięci, inicjalizacja wyrażeniami), abstrakcyjne typy danych, krotki, funkcje polimorficzne, pattern matching.

Linki zewnętrzne edytuj