Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2015-04-24

Functions

Люблю, когда сложные вещи растолковывают простым языком.
Где-то я читал, что только очень хороший учитель в состоянии разъяснить ученику сложные вещи простыми словами. Что-то в этом роде.

Higher-Order functions are functions that either accept a function in the parameter list, returns a parameter, or does both. First Class functions always do both; they accept functions as arguments and return functions
a pure function doesn’t need to accept or return a function. It doesn’t need to even have a parameter list.
Pure functions do require you to return something, though. Pure functions are functions that fit both of these statements:

-- When called with the same arguments, it always returns the same result. Not returning anything does not count as “returning the same result”, because having a function that doesn’t return anything doesn’t follow the next statement.
-- There are no side effects, nothing mutated
One thing to note about lambdas is that they’re anonymous. They have no name. They can be assigned to a variable with a name, but that doesn’t stop them from being lambdas. They’re a shorthand version of a function declaration, often called “function literals”; a name is not part of that declaration
Anyway, currying allows you to partially supply parameters to a function so it can finish being filled in later. This is the same purpose that partial fulfills in Python. Some languages use this as the only way to define functions that take multiple parameters. Passing in the first argument returns the function that will taking in the second argument, all the way until you’ve given the final argument, where it applies all the arguments to the function






original post http://vasnake.blogspot.com/2015/04/functions.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)