Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Vývoj / Re:F# pomenované typy v typovej signatúre funkcie
« Poslední příspěvek od fortran1986 kdy Dnes v 20:18:54 »
F# ma oproti OCAML taku vymoženosť, že si viem pomenovať typy parametrov aj vrámci typovej signatúry funkcie

No, v F# se to pojmenování na rozdíl od OCamlu snadno ztratí. Když použijete labelled parameter v OCamlu, tak argument musí být labelled (např. když deklaruji let rec range ~first:lo ~last:hi = ..., tak to musím volat range ~first:1 ~last:10 a nejde range 1 10)


Čekal bych, že když findUniqueSlug bude funkce, tak by to mohlo fungovat (ale AFAIK není to nic, co by bylo garantováno specifikací jazyka):

Kód: [Vybrat]
let findUniqueSlug slugExists slug = findUniqueName' 0 slugExists slug

no jazyk to podporuje, ale vyzerá, že editor nie (podporuje pri discriminated unions, ale už nie pri typoch funkcie čo je divná nekonzistencia):





lebo už som sa pýtal aj AI a nič mi neporadila. v špecifikácii to možno nie je, ale bolo by fajn keby pridali podporu predsa len aj na úrovni editorov / IDE. Lebo ozaj keď niektoré veci nie sú pomenované tak to je násobne menej prehľadné.


2
Vývoj / Re:F# pomenované typy v typovej signatúre funkcie
« Poslední příspěvek od Radek Miček kdy Dnes v 20:02:16 »
F# ma oproti OCAML taku vymoženosť, že si viem pomenovať typy parametrov aj vrámci typovej signatúry funkcie

No, v F# se to pojmenování na rozdíl od OCamlu snadno ztratí. Když použijete labelled parameter v OCamlu, tak argument musí být labelled (např. když deklaruji let rec range ~first:lo ~last:hi = ..., tak to musím volat range ~first:1 ~last:10 a nejde range 1 10)


Čekal bych, že když findUniqueSlug bude funkce, tak by to mohlo fungovat (ale AFAIK není to nic, co by bylo garantováno specifikací jazyka):

Kód: [Vybrat]
let findUniqueSlug slugExists slug = findUniqueName' 0 slugExists slug
3
Vývoj / Re:Prečo nie je Lisp populárnejší?
« Poslední příspěvek od Kit kdy Dnes v 19:49:48 »

Jinak typicky moje výpočty, třeba vzoreček nějakýho polynomu má aji v pythonu několik řádků, natož funkce ve který je těch polynomů, trochu odlišných, třeba několik mezi kterejma se přepíná podle situace...  možná (asi, určitě)  to píšu blbě, ale funguje mi to :-) a naštěstí nejsem placený od řádků kódu, ale od výsledků těch výpočtů :)

...Ale z těch závorek v lispu by mě fakt asi kleplo :)

Nekleplo, pre lisp existujú balíčky, ktoré umožňujú pre jednotlivé špecifické použitia vhodnejšiu syntax, alebo DSL, takže môžete používať operátory, ktoré sú medzi operandmi a nie pred nimi.

Většina lispařů se od infixového zápisu distancuje, protože nepřináší žádné výhody, ale jen nevýhody.
4
Vývoj / Re:Prečo nie je Lisp populárnejší?
« Poslední příspěvek od echo_zulu kdy Dnes v 19:41:00 »

Jinak typicky moje výpočty, třeba vzoreček nějakýho polynomu má aji v pythonu několik řádků, natož funkce ve který je těch polynomů, trochu odlišných, třeba několik mezi kterejma se přepíná podle situace...  možná (asi, určitě)  to píšu blbě, ale funguje mi to :-) a naštěstí nejsem placený od řádků kódu, ale od výsledků těch výpočtů :)

...Ale z těch závorek v lispu by mě fakt asi kleplo :)

Nekleplo, pre lisp existujú balíčky, ktoré umožňujú pre jednotlivé špecifické použitia vhodnejšiu syntax, alebo DSL, takže môžete používať operátory, ktoré sú medzi operandmi a nie pred nimi.
5
Hardware / Re:PC sestava pro Linux
« Poslední příspěvek od František Ryšánek kdy Dnes v 19:35:59 »
Na jednu věc bacha: pokud se nepletu, socket AM5 už je LGAčkovej = patice na boardu je dvourozměrná stonožka ležící na hřbetě. Jakmile sundáte krytku patice, tak velikýho bacha, ať Vám do patice něco omylem neupadne (procesor, šroubovák apod.) protože jak ty pružinky ohnete mimo rastr, tak narovnat už skoro nejdou. V klidu si předem prohlédněte procesor, jakým koncem pasuje správně do patice. Správná orientace je jenom jedna, a procesor mívá mechanický "klíč" proti patici.

(Socket AM4 byl kupodivu ještě PGA = procesor nohatý, patice dírkatá).

S paměťmi nebudete mít problém, pokud je nebudete hned po prvním spuštění přetaktovávat. Nechte je napřed v defaultech, nechte třeba přes noc proběhnout memtest (pokud vám není líto elektřtiny) apod. Taky si osaháte, jak dlouho BIOS normálně bootuje, případně kdy a odkud je potřeba pohladit klávesnici, abyste se dostal spolehlivě do BIOS SETUPu. Desky s DDR5 na první zapnutí dloooouho trénují parametry pamětí = trvá klidně pár desítek sekund (třeba třicet) než přijde pííp a rozsvítí se video výstup. Při dalších startech (bez změny sestavy hardwaru) už POST tak dlouho netrvá.

Open-source MEMTEST86+ bývá přibalený na všelijakých live CDčkách a instalačkách. Případně si můžete stáhnout aktuální verzi a vyrobit si bootovačku sám (ISO CD nebo USB flashku). Jak čerstvý open-source MEMTEST86+ tak komerční MEMTEST86 od PassMarku umí v dnešní době bootnout v prostředí UEFI a mezi downloady je první na řadě "USB instalátor" = image s přibaleným EXE nástrojem do Windows, který Vám z USB flashky vyrobí MEMTEST bootovačku. Startuje to na cílovém hardwaru samostatně, jako "operační systém sám pro sebe" = nepotřebuje to ke svému běhu Linux nebo Windows.

Od napájecího zdroje potřebujete do motherboardu hlavní ATX copánek, přídavný šlahoun pro napájení CPU (jenom černé a žluté žíly), a pak přídavné přímé šlahouny pro nenažranou grafiku, která se dost nenakrmí z motherboardu.

Některé lepší boardy mají přímo na desce tlačítko "ATX power on" = po vložení procesoru, RAM a přivedení všeho potřebného napájení by sestava měla začít vykazovat známky života. Není špatné, připojit si aspoň "PC speaker", abyste slyšel případné chybové kódy = hledání pinoutu "front panel headeru" se nevyhnete :-)  = nalistujete ho v manuálu, co přijde přibalený k desce.

Problémy s USB: úplně bych se předem nebál problémů "OS vs. XHCI a přídavné USB huby na desce".
Trochu ostražitý bych byl vůči portům vpředu na bedně, které se připojují nějakým šlahounem uvnitř (je součástí bedny). Tenhle kabel je neurčité jakosti a připojuje se na klasický dvouřadý header s roztečí 2.5 nebo 2 mm, což není zrovna konektor určený pro dnešní vysoké rychlosti (USB 3.x). Takže pokud Vám zlobí přední USB porty, zkuste píchnout své USB zařízení (rychlé flashky apod.) zezadu "pod ocas" = do zadního ATX čelíčka motherboardu. Tyhle konektory jsou pro danou generaci USB optimalizované, signálová cesta od aktivního křemíku je kratičká a v téhle podobě prošla USB cesta testováním u výrobce motherboardu = není tam připojený kus kabelu, který dodala firma co umí ohýbat plech a tlakově odlévat plasty.
A třeba taky vězte, že v modrém portu USB 3.x jsou jednak rychlé signály pro USB 3.x, druhak samostatný signálový pár (a transceiver na motherboardu) má v tomtéž konektoru USB 2.0. Samostatné dráty pro USB 3 a USB 2. Takže pokud danému portu nebudou chutnat rychlá "modrá" zařízení USB 3.x, zkuste schválně ještě něco pomalejšího s USB 2.0. Třeba se to chytí.
6
Windows a jiné systémy / Re:Vlastnosti macOS pro linuxáka
« Poslední příspěvek od Mlocik97 kdy Dnes v 19:16:49 »
Jak se tu tak koukám, tak všechny OS jsou absolutně nepoužitelné, protože úplně stejně bych mohl pindat na to, jak GTK aplikace vypadjí hnusně v KDE, jak každá věc řeší konfiguraci úplně jinak, aktualizace rozbíjejí něco častěji v Linuxu, než kdekoliv jinde, a navíc způsobem, že ani nenaběhne OS, nebo aspoň nefunguje grafický režim... :-)

Půlka těch problémů v předchozích příspěvcích je víc o nepochopení UX toho systému a trvání na tom, že "musí to být tak, jak jsem se to naučil před X rokama v úplně jiném systému, jinak je to špatně," navíc ještě spojené s tím, že něco by se přizpůsobit dalo, ale dotyčný neví jak. Ten samý typ stížností je slyšet od spousty Windows-odchovaných lidí, co musí něco dělat s Linuxem.

Uhmm, ja som vyrastal na Windows 95, Win 98, potom XP, potom Visty, 7, 8, 8.1, aj desiatky som mal v rukách... na Linux som sa nikdy nesťažoval, práve naopak. Áno, každý systém má svoje "quirks", ale snáď mi nechceš povedať že sa dá pochopiť UX kde kliknutie na jedno a to isté tlačítko robí 3 rozdielne veci v 3 rozdielnych aplikáciách (napr. maximalizovanie). To fakt mi nehovor že nekonzistentnosť je niečo čo človek chce a "vie pochopiť".

Ak kliknem mám auto, raz otočenie volantom do prava zatočí auto doľava, druhý krát otočenie volantu do prava pridá hlasitosť na rádiu, a tretí krát otočenie volantu do prava ti otvorí kufor asi nie je niečo normálne. To nijako neobhájiš tým že "treba systém pochopiť".

Citace
tak to potrvá měsíce plného používání, než to budeš moct vyhodnotit

vyhodnocujem po roku aj pol utrpenia, stále nadávam aj na úplne najprimitívnejšie veci v systéme.
7
Windows a jiné systémy / Re:Vlastnosti macOS pro linuxáka
« Poslední příspěvek od Zopper kdy Dnes v 18:50:10 »
Jak se tu tak koukám, tak všechny OS jsou absolutně nepoužitelné, protože úplně stejně bych mohl pindat na to, jak GTK aplikace vypadjí hnusně v KDE, jak každá věc řeší konfiguraci úplně jinak, aktualizace rozbíjejí něco častěji v Linuxu, než kdekoliv jinde, a navíc způsobem, že ani nenaběhne OS, nebo aspoň nefunguje grafický režim... :-)

Půlka těch problémů v předchozích příspěvcích je víc o nepochopení UX toho systému a trvání na tom, že "musí to být tak, jak jsem se to naučil před X rokama v úplně jiném systému, jinak je to špatně," navíc ještě spojené s tím, že něco by se přizpůsobit dalo, ale dotyčný neví jak. Ten samý typ stížností je slyšet od spousty Windows-odchovaných lidí, co musí něco dělat s Linuxem.

Shrnul bych to (s velkou nadsázkou, i když to stejně někteří ani tak nepochopí) jako:

  • Je tvůj čas levný, máš starý thinkpad z čtvrté ruky a chceš si kompilovat jádro? -> Linux
  • Nevadí ti, jak se chová MS a chceš, aby i Franta z hospody věděl, na co kliknout? -> Windows
  • Nesplňuješ 1 a 2? -> Mac

Reálně, je to použitelné úplně stejně jako každý jiný velký systém. Jako každý z nich má svoje specifika a buď si na ně zvykneš, nebo tě budou štvát - a pokud nejsi v něčem hodně zarytý, tak to potrvá měsíce plného používání, než to budeš moct vyhodnotit. A část těch výhod Macu se projeví až když máš zařízení od Apple víc a ty věci prostě fungují out of box - třeba automatické odemknutí zařízení, když máš Apple Watch, hand-off airpodů mezi zařízeními, sdílený clipboard mezi tvými zařízeními (když jsou v blízko), a tak.
8
Vývoj / Re:Prečo nie je Lisp populárnejší?
« Poslední příspěvek od Karmelos kdy Dnes v 18:44:33 »
Je smutné, když ostatní programátoři vidí na Lispu jen ty závorky.
Ale ten lisp je proti tomu španělská vesnice, samá závorka, ty já nenávidím, alébrž mám v nich chyby snad nejčastějc - a to je používám u výpočtů a program píšu rozvláčně (nikoliv takový to pythonský úsporný závorkový psaní) a dost řádkuju, používám funkce, abych v tom měl přehled a stejně chyby dohledávám hodiny (ve výpočtech). Neumim si představit v lispu něco složitějšího dělat a krom toho pro lisp asi nebudou pokročilé knihovny fyzikálních vlastností látek :-)

V Lispu se píší zejména krátké funkce na jeden až tři řádky. Není důvod dělat funkce dlouhé. V čem jsou napsány ty knihovny fyzikálních vlastností látek? Jsou to jen data nebo i funkce?

To hlavní co asi nejvíc potřebuju má desítky funkcí v několika .dlls, který se volaj možná i navzájem. Celý je to napsaný v bůchví čem, chodí mi jenom jako předkompilovaný dynamický knihovny pod woknama a  oficiálníma wraperama. Zkoušel jsem to zkompilovat aby to bylo aspoň statický, ale nedokázal jsem ani uspokojit a spravně nakonfigurovat všechny pre-requisites, aby to korektně prošlo. Doma to dělat nemůžu, protože je to licencovaný. Alternativa existuje ale dost okoštěná.

Jinak typicky moje výpočty, třeba vzoreček nějakýho polynomu má aji v pythonu několik řádků, natož funkce ve který je těch polynomů, trochu odlišných, třeba několik mezi kterejma se přepíná podle situace...  možná (asi, určitě)  to píšu blbě, ale funguje mi to :-) a naštěstí nejsem placený od řádků kódu, ale od výsledků těch výpočtů :)

...Ale z těch závorek v lispu by mě fakt asi kleplo :)
9
Vývoj / Re:Prečo nie je Lisp populárnejší?
« Poslední příspěvek od balkovic kdy Dnes v 18:37:37 »
Čistě náhodou chystám článek o Basilispu. To je vlastně Clojure pro Python a na to, že je to one man show, to funguje dost dobře. Stay tuned ;)

Tešíme sa, sme ako na ihlách.
10
Vývoj / F# pomenované typy v typovej signatúre funkcie
« Poslední příspěvek od fortran1986 kdy Dnes v 18:32:08 »
F# ma oproti OCAML taku vymoženosť, že si viem pomenovať typy parametrov aj vrámci typovej signatúry funkcie

Kód: [Vybrat]
type foo = bool -> bool
vs.
type foo = isEmpty:bool -> bool

alebo pri algebraických typoch:

Kód: [Vybrat]
type Person =
| Man of name:string * age:int
| Woman of name:string * age:int * cupSize:CupSize


pri typoch tagu v dicriminated unions to vieme pomenovať a zobrazí to aj autocomplete, lenže skúšam pomenovať funkcie vrátené po curryingu a tam to dáko autocomplete nezobrazí, nemáte pls tip či sa to nedá nejako ohackovať? Lebo tu je konktrétny príklad z praxe:

Kód: [Vybrat]
module Name

let rec private findUniqueName' (index : int) (exists : string -> bool) (name : string) =
    let newName = if index = 0 then name else $"{name}-{index}"
    if exists(newName)
    then name |> findUniqueName' (index + 1) exists
    else newName

// typy explicitne netreba uvadzat ale chcem to mat pomenovane koli autocomplete:
let findUniqueName : nameExists:(string -> bool) -> name:string -> string = findUniqueName' 0

let rec private findUniqueSlug' (index : int) (slugExists : string -> bool) (name : string) =
    name
    |> _.ToSlug()
    |> findUniqueName' 0 slugExists

let findUniqueSlug : slugExists:(string -> bool) -> slug:string -> string = findUniqueSlug' 0
Stran: [1] 2 3 ... 10