Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Mirek Prýmek

Stran: 1 ... 193 194 [195] 196 197 ... 618
2911
Vývoj / Re:Má Haskell budoucnost?
« kdy: 20. 05. 2016, 19:43:45 »
Tohle byla jedna z prvních věcí, kterou jsem pochopil. Zapomněl jsi však uvést, že "a" je jméno funkce. Kromě toho se "a" používá i jako zástupný symbol typu v definici parametrů. Přesto jsi ho použil jako jméno funkce, abys mi to co nejvíc zamlžil. To je tak těžké napsat tohle?
Kód: [Vybrat]
f a = a + 1
V Haskellu je nekolik konceptu, ktery clovek bezpodminecne musi spravne pochopit, jinak se v dalsim utopi (v nejhorsim pripade si bude myslet, ze to chape, ale pochopi to blbe):

1. promenne nejsou promenne ve smyslu imperativnich jazyku ("misto, kam dam nejakou hodnotu"), ale "nalepky pro hodnoty" - viz http://stackoverflow.com/questions/29967086/are-elixir-variables-really-immutable (tady se mluvi o Elixiru, ale v Haskellu je to totez). Je potreba rozlisovat volnou a vazanou promennou (tohle je spis prologovska hantyrka, ale funguje to stejne).

2. v Haskellu plati referencni transparentnost = jestlize plati a=b, tak kdekoli mam a, tam muzu dat b, a program bude fungovat porad stejne.

3. V Haskellu funguje currifikace "automaticky" - jestlize mam fci f dvou promennych, tak (f 1) je funkce jedne promenne. V jinych jazycich bych to musel udelat explicitne lambdou: lambda x: f(1,x).

Tohle je taky ten duvod, proc se v typovych anotacich pouzivaji ty divne sipky a ne carky. Kdyz mam treba

Kód: [Vybrat]
f :: Int -> String -> String

a f aplikuju na integer, dostanu:

Kód: [Vybrat]
g :: String -> String

...takze je to vlastne

Kód: [Vybrat]
f :: Int -> (String -> String)

- a ty zavorky je tam zbytecne psat, proto se tam nepisou.

Zaroven je tohle vec, ktera taky zpusobuje horsi citelnost pro lidi zvykly na jiny jazyky, napr:

Kód: [Vybrat]
filter :: (a -> Bool) -> [a] -> [a]

myFilter = filter (\x -> True)

by clovek nenavykly na "automatickou" currifikaci napsal spis takhle:
Kód: [Vybrat]
myFilter list = filter (\x -> True) list
ale haskellisti to nedelaji. Zhorsuje to citelnost, protoze si clovek musi v hlave odvozovat parametry leve strany z prave.

4. pravidla zapisu operatoru - "symboly" jsou defaultne infixove, "slova" prefixova. Symboly se prefixove zapisuji pomoci zavorek, slova infixove pomoci zpetnych apostrofu:
Kód: [Vybrat]
1 + 1    ~   (+) 1 1
filter (\x -> True) [1]    ~    (\x -> True)  `filter`  [1]


5. Type konstruktor neni data konstruktor.  Data konstruktor je normalni funkce. Type konstruktor je "funkce o level vys". Bohuzel (pokud se nepletu) Haskell umoznuje pouzit stejne jmeno pro oboji (neni to konflikt):
Kód: [Vybrat]
data  Maybe a  =  Nothing | Just a

Prelude> :t Just
Just :: a -> Maybe a

Prelude> :k Maybe
Maybe :: * -> *


Prelude> :k Just

<interactive>:1:1:
    Not in scope: type constructor or class ‘Just’
    A data constructor of that name is in scope; did you mean DataKinds?

Prelude> :t Maybe

<interactive>:1:1:
    Not in scope: data constructor ‘Maybe’
    Perhaps you meant variable ‘maybe’ (imported from Prelude)

6. Definice data konstruktoru i type konstruktoru muzou pouzivat promenne obdobne jako definice jinych fci:
Kód: [Vybrat]
Prelude> :k Maybe
Maybe :: * -> *
Prelude> :k Maybe String
Maybe String :: *

7. I kdyz je do block navrzeny tak, aby vypadal, ze v nem vyse zminene neplati, tak je to jenom syntakticky cukr, ve kterem porad plati vsechno.

---

Kdyz si tyhle veci zazijes, das uz v Haskellu celkem cokoli, s vetsim nebo mensim usilim ;)

2912
Vývoj / Re:Má Haskell budoucnost?
« kdy: 20. 05. 2016, 16:42:40 »
To je jen o zvyku, ne? Je to prostě jen konvence.
Tak jasne, zvyknout se da i na koncentrak...

2913
Vývoj / Re:Má Haskell budoucnost?
« kdy: 20. 05. 2016, 16:39:53 »
No, tak jsem si docela dost jistý, že třeba <- je funkce.
Standardni fce to neni. Je to syntakticky cukr pouzitelny jenom v do blocku. do taky fce neni.

2914
Vývoj / Re:Má Haskell budoucnost?
« kdy: 20. 05. 2016, 16:25:53 »
To platí pro Lisp, ale Haskell toho má podstatně víc. Symboly => -> :: apod. jsou pro mne stále stěží čitelné.
Myslím, že jste si teď s BoneFlute nerozuměli, každý mluvíte o něčem jiným.

Kromě toho mezera přece není tokenem, ale pouze oddělovačem tokenů, ne? Jinak žádnou funkci nemá.
Ještě jako indentation. Haskell má významný whitespace (narozdíl třeba od javy).

2915
Vývoj / Re:Má Haskell budoucnost?
« kdy: 20. 05. 2016, 16:16:20 »
Ono toho zatím moc není. Mám ještě stále problémy se čtením symbolů, které bývají v jiných jazycích slovní, ale v Haskellu jsou tvořeny posloupností nealfanumerických znaků. Časem si na to zvyknu a teprve pak to ocením.
Tohle mě třeba taky štve. Číst kód, který je směsicí >> >>= << <=< $ <$> kde některé z nich fungují "zprava doleva" a některé naopak, je peklo. Občas mám pocit, že to snad haskellisti dělají schválně, aby okolí ukázali "já na to mám" ;)

2916
/etc/postfix/main.cf
Kód: [Vybrat]
smtpd_sender_restrictions =
    permit_mynetworks,
    check_sender_access hash:/etc/postfix/access,

/etc/postfix/access
Kód: [Vybrat]
user@domain.cz OK
domain.cz REJECT
...a pokud dám do obálky jiný From než do těla? To taky zakážeme? A když to bude zlobit pro mailinglisty, tak je budeme ručně whitelistovat?

Tohle nikam nevede. Prostě pokud není mail šifrovaný, nebo nemá DKIM, mohl ho poslat kdokoli odkudkoli, to je potřeba uživatelům vysvětlit a nesnažit se pomocí narovnáváků na ohýbáky řešit něco, co vyřešit nejde.

2917
Vývoj / Re:Má Haskell budoucnost?
« kdy: 20. 05. 2016, 15:34:18 »
Však jsem za tohle vlákno v této podobě docela vděčný. Bylo tady řečeno víc, než na co jsem se ptal a díky němu mám i s čím experimentovat.
Myslím, že bys klidně mohl výsledky experimentů i postovat. Je tady několik praktických haskellistů, kteří určitě rádi nasměují/poradí/prodiskutují - a my, nehaskellisti, si to se zájmem poslechneme, jak se praktické věci v haskellu řeší.

2918
Odkladiště / Re:Proč jsou všichni proti systemd?
« kdy: 20. 05. 2016, 15:22:44 »
V tomhle je ovšem systemd nevinně. To samé totiž platí pro SELinux pravidla a nastacení cgroup omezení. A tyhle dvě věci byly jeden z důvodů, proč systemd vzniklo. Uživatel má jiný výchozí kontext (i root) než init systém.
Tyhle linuxové novoty už moc nesleduju, takže možná teď plácnu blbost, ale nesrovnáváš trošku hrušky s jabkama? SELinux se dá vypnout, pravidla se dají dočasně nastavit jinak. Pokud ale systemd funguje tak, že službu umístí do nějaké "karantény" (na detailech nezáleží), v ní ti služba nebude fungovat a spuštěna z terminálu bude, tak seš v pytli a babo raď. Jak uděláš bisect? SELinux můžeš vypnout, můžeš ho přepnout do permissive, můžeš postupně ubírat pravidla. Co uděláš s pevně nastavenou "karanténou" pod systemd? Budeš ho postupně patchovat, překládat, restartovat?!

2919
Vývoj / Re:Erlang v Brne?
« kdy: 20. 05. 2016, 14:07:44 »
Ještě můžeš zkusit napsat na https://groups.google.com/forum/#!forum/fpbrno

2920
Pokud si nekdo preposila firemni maily na seznam, mel by mu majitel firmy zlamat vsechny hnaty a pribit ho za kule pro vystrahu na vrata.
A když to chce majitel firmy?! ;)

2921
Odkladiště / Re:Proč jsou všichni proti systemd?
« kdy: 20. 05. 2016, 13:19:31 »
Presne, dbus nema na serveru vubec do pohledavat ...
Včera jsem si s velkým zájmem pročítal dlouhou diskusi o pull requestu na kdbus: http://thread.gmane.org/gmane.linux.kernel/1930358

Kromě toho, že si i někteří vývojáři jádra museli ujasňovat, co vlastně znamená big-O notace a jak ji používat :) (ať mi ještě někdo chvilku tvrdí, jak je teorie důležítá a jak ji potřebuje znát každý absolvent...), tak velmi výživné bylo číst o tom, jaká nedůvěra k lidem kolem systemd mezi některými kerneláři panuje:

Citace
> You don't have to enable the metadata if you don't want to use
> it,
> it's
> an option :)
 
OK, _that_ argument needs to be stomped out.  It had been used before,
and it was a deliberate scam.  There is no such thing as optional
kernel interface, especially when udev/dbus/systemd crowd is
nearby. [...]

This is a huge red flag.  On the level of "I need your account
information to transfer $200M you might have inherited from my
deceased client".

Just to recap how it went the last time around: Kay kept pushing his piece of
code into the tree, claiming that it was optional, that nobody who doesn't
like it has to enable it, so what's the problem?  OK, in it went.  And pretty
soon udev (maintained by the same... meticulously honorable person) had
stopped working on the kernels that didn't have that enabled.

We had been there before.  To paraphrase another... meticulously honorable
person, "if you didn't want something relied upon, why have you put it into the
kernel?" Said person is on the record as having no problem whatsoever with
adding dependencies to the bottom of userland stack.

Dobrý žrádlo. Ani se nendivím Alanovi Coxovi, že:
https://plus.google.com/u/0/+AlanCoxLinux/posts/a2jAP7Pz1gj

2922
Odkladiště / Re:Proč jsou všichni proti systemd?
« kdy: 20. 05. 2016, 00:19:48 »
Upstart je 100x horsi ako SystemD.
Ta statistika není o tom, co je horší, ale v čem je hlášeno víc chyb.

2923
Potřebuji udělat polovičatě to, co jistě komplexněji řeší PSF, nebo raději DKIM. Na to se ale neptám. Na toto téma toho bylo napsáno dost i zde.
Obávám se, že to žádným jednoduchým způsobem nejde.

Smím se zeptat, proč není možné použít třeba právě SPF?
SPF je zlo. Ještě že to nikdo nepoužívá, je to fakt radost vysvětlovat někomu, že fakt nejde přeposílat poštu z firemního mailu na seznamácký a že chyba není na naší straně.

2924
Vývoj / Re:Erlang v Brne?
« kdy: 20. 05. 2016, 00:11:11 »
Ahoj,

škoda, že's to nenapsal včera, protože zrovna dneska jsme měli malý dýchánek http://www.meetup.com/Brno-Elm-Meetup/events/230668222/ , o Erlangu a Elixiru byla taky řeč a mj. jsme se bavili o tom, že by nebylo od věci dát skupince obecnější téma "Funkcionální programování" než jenom Elm. Budeme rádi, když se přidáš! Příští setkání bude asi někdy před začátkem prázdnin.

Jinak pokud bys chtěl s něčím konkrétnějším poradit nebo o nějakém začínání s Erlangem/Elixirem pokecat, klidně se mi ozvi - nejlíp přes Plusko https://plus.google.com/+MiroslavPrymek nebo případně i tady. V Brně bývám tak jednou dvakrát týdně, můžem klidně zajít na kafe. V Erlangu dělám několik let, teď už teda jenom v Elixiru. Produkční věci, ale jenom interní - nic, co bys mohl vidět někde in the wild :)

2925
Odkladiště / Re:Proč jsou všichni proti systemd?
« kdy: 19. 05. 2016, 23:58:24 »
Failed to get D-Bus connection: Neznámá chyba -1
Úplně jak na Windows :))

Stran: 1 ... 193 194 [195] 196 197 ... 618