Καλημέρα! Σε γενικές γραμμές υπάρχουν δύο μεγάλες σχολές στον FP: οι δυναμικές γλώσσες (με προεξάρχουσα την Lisp family) και οι στατικές γλώσσες με Hindley-Milner type systems (οικογένεια της ML). Το μεγάλο πλεονέκτημα των δυναμικών είναι η εκφραστικότητα, true genericity, η ενοποίηση run + compile time κλπ, ενώ οι στατικές υπερέχουν στην ανάλυση και απόδειξη ιδιοτήτων (ορθότητας, ροής, κλπ) στο compile time και των παραγώγων τους (π.χ. performance). Αν και το SICP προσωπικά μου άλλαξε τη ζωή, από φιλοσοφικής/εκπαιδευτικής σκοπιάς είναι νομίζω ενδιαφέρον και το "why calculating is better than scheming": https://www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.pdf
Tha simfoniso me ton @aris, modernes glosses opos i Racket exoun poli isxiro meta-programming eno glosses opos i Idris eksafanizoun to distinction anamesa sto programming-proving theorems!
H πρώτη κατηγορία functional γλωσσών (lisps) δεν είναι πιο προσιτή για κάποιον που δεν έχει ιδέα από αυτά; Η Haskell πχ (πόσο μάλλον η Idris δηλαδή) μου φαίνεται αρκετά πιο πολύπλοκη σαν concept και αν δεν κάνω λάθος τα type systems δεν είναι κομμάτι του lambda calculus ούτως ή άλλως (btw το SICP πιάνει αυτό το αντικείμενο επαρκώς; )
@pavlos Sigoura to type sytem mias glossas einai mia alli glossa pou prepei na eksikiothis... kai eidika oi glosses pou to type system tous einai poli pera apo to vasiko Hindley-Milner
tote to learning curve sigoura anevenei.
apo mia ekpeudeutiki skopia px to type system tis Idris se fernei se epafi me to isomorphismo Curry-Howard pou apo mono tou einai apo tis simantikoteres idees tou CS
tora to SICP san vivlio den eksantlite se FP... einai geniko vivlio gia ton upologismo
xrisimopoiiei tin Lisp san ergaleio dimiourgias dsl gia tin meleti imperative, object, relational programming
to vivlio itan gia polla xronia to intro se programming gia tous mathites tou MIT kai Berkeley
na diorthoso oti to SICP einai se Scheme... opote to vivlio otan ylopoiiei ton meta-circular evaluator exei closures kai lexical scoping ... opote einai konta sto pneuma tou lambda calculus
@palladin tha me valeis na to parw se hardback twra 😄
@stathissideris Otan to eixa proto-diavasei mou eixe kanei toso poli entiposi pou to diavaza me thriskeutikou tipou eulavia
must watch einai kai ta lectures https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/
eixa prospathisei, alla me dyskoleyei to format
(to format tou video genikotera)
@stathissideris Prospathiseto giati exei poli dinates stigmes
@stathissideris O Sussman eidika exei poli theatrikotita kai exei kapoia simeia pou apokaliptonte mporsta sou cosmikes alithies kai meneis pagoto.... Kalitero kai apo seira sto Netflix 🙂
eimai sigouros oti symvia tha to ektimhsei otan antikatasthsw tis seires Netflix me SICP 😄
+1 ston @palladin, nomizw an mporouse kaneis na sunopsisei se mia protash to SICP einai auto pou apokalei o Abelson kapou allou san thn pio va8ia alh8eia ston programmatismo: "the interpreter of a programming language is just another program"
@aris kata to "turtles all the way down" interpreters all the way down
Το πρώτο βίντεο (και η σελίδα του mit σε αυτό δείχνει): https://www.youtube.com/watch?v=2Op3QLzMgSY Το ξεκινάω! (κάθε pixel και άνθρωπος, αλλά οκ, από το 1986 είναι 😛)