-
Data: 2012-05-16 01:00:30
Temat: Re: jezyki z definiowaniem operatorow
Od: Edek Pienkowski <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Tue, 15 May 2012 21:39:36 +0100, Andrzej Jarzabek napisal:
> On 15/05/2012 18:10, fir wrote:
>> czy wystepuja jezyki z definiowaniem
>> operatorow (inne niz c++, gdzie zresztą
>> to definiowanie jest bardzo ograniczone -
>> mozna sobie wyobrazic jezyk ze tak swobodnym
>> definiowaniem operatorow jak funkcji, moze
>> to skrociloby listingi choc trudno powiedziec)
>>
>> czy sa takie jezyki i jak to wyglada?
>
> W Groovy można definiować operatory na podobnej zasadzie jak w C++.
>
> Ze swobodnym definiowaniem operatorów problem jest taki, że ich
> pierwszeństwo i stronność są określone gramatyką języka. Zmienianie tego
> na bieżąco przy pomocy samego programu w tym języku wydaje się
> problematyczne - być może, że wręcz prowadzi do nierozwiązywalnych
> problemów, a na pewno standardowy model skaner-parser-translacja
> trafiłby szlag.
>
> W wielu językach funkcyjnych natomiast (np. w różnych dialektach Lispa)
> w ogóle nie ma infiksowych operatorów, natomiast w porównaniu do
> typowych języków można stosować dość szeroki zestaw znaków w
> identyfikatorach. I tak pisze się (* (+ 2 2) (+3 4)), gdzie '+' i '*' są
> nazwami funkcji.
Tak więc w językach znanych przez kolegę "pierwszeństwo i stronność... "
- no, mądre słowo - "są określane przez gramatykę". Ale kolega ma świadomość
istnienia języków funkcyjnych. Hmm.
A gdyby tak powiedzieć, że nie musi tego określać gramatyka i że to byt
określa świadomość? Kurde, zaczynam rozumieć dlaczego niektórzy uważają OO
za szkodnika, strasznie sformatowało umysły. Podobnie jak fascynacja grami 2d
(pozdrowionka dla OP). (Reverse) polish notation nie jest równoważne ani
silnemu/słabemu typowaniu, ani językowi funkcyjnemu, ani też nie jest konieczne,
żeby + i * były zwykłymi funkcjami;
parsowanie nie ma tu wiele do rzeczy, tak tylko najpopularniejsze języki
dzisiaj mają, że najprościej jest implementować to w parserze. Kwestia
historyczna, wcześniej istniało expression parsing.
Edek
Następne wpisy z tego wątku
- 16.05.12 01:58 Daniel Janus
- 16.05.12 02:07 Andrzej Jarzabek
- 16.05.12 05:19 firr
- 16.05.12 07:41 M.M.
- 16.05.12 08:05
- 16.05.12 10:10 Maciej Sobczak
- 16.05.12 11:58 Edek Pienkowski
- 16.05.12 12:24
- 16.05.12 13:23 Piotr Chamera
- 16.05.12 13:32
- 16.05.12 13:59 Piotr Chamera
- 16.05.12 14:12
- 16.05.12 15:55 Daniel Janus
- 16.05.12 16:08
- 16.05.12 16:09 Piotr Chamera
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-12 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-12 Warszawa => Programista C <=
- 2025-03-12 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-03-12 64 proc. kierowców zrobi dodatkowo maks. 500 m, aby przy okazji zatankować pojazd
- 2025-03-12 Warszawa => Generative AI Engineer <=
- 2025-03-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-03-12 Warszawa => Gen AI Engineer <=
- 2025-03-12 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-12 Gdańsk => PHP Developer <=
- 2025-03-12 China-Kraków => Production Coordinator / Representant Product Dev <=
- 2025-03-12 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-03-12 China-Kraków => Key Account Manager IT <=
- 2025-03-12 Warszawa => Java Developer <=
- 2025-03-12 Warszawa => Junior Digital Product Manager <=
- 2025-03-12 Katowice => Key Account Manager (ERP) <=