10

Jaką dokładnie rolę odgrywają kombinatory wyższego rzędu (lub producenci funkcji) w concatenative i tacit programming?Rola kombinatorów w językach programowania konkatenatywnego/milczącego

Czy istnieje inny sposób implementacji konkatenatywnego języka programowania zamiast bezpośredniego manipulowania stosem?

Jaka jest ścisła relacja między wspomnianymi kombinatorami a Schonfinkel 's combinatory logic?

+2

To pytanie pojawiło się w poście na blogu * [Why Concatenative Programming Matters] (http://evincarofautumn.blogspot.dk/2012/02/why-concatenative-programming-matters.html) *. –

Odpowiedz

-2

W mojej odpowiedzi na "Explain Concatenative languages to me like I’m an 8 year old" argumentowałem, że nie jest użyteczne używanie słowa "konkatenatywny" do opisu języków programowania. Ten teren wydaje się być prywatnym placem zabaw dla Manfreda von Thuna. Nie ma prawdziwej definicji tego, co stanowi język łączący i nie ma dojrzałej teorii leżącej u podstaw idei łączącego się języka. Ponieważ koncepcja nie jest tak naprawdę zdefiniowana, niemożliwe jest zapewnienie ostatecznego wyjaśnienia roli kombinatorów.

Być może wolisz spędzać czas na studiowaniu bardziej ugruntowanych tematów, takich jak logika kombinatoryczna, kombinatory SK, rachunek lambda i maszyny do redukcji wykresów. Jeśli interesuje Cię programowanie bez punktu z bardziej pragmatycznej perspektywy, wszystkie APL, Forth i PostScript są warte studiowania.

+0

Dzięki, przeczytałem wspomniany wpis i na pewno zbadam tematy oznaczone przez ciebie – Bubba88

+7

Myślę, że posuwasz się za daleko, mówiąc * nie jest użyteczne użycie słowa "konkatenatywny" do opisu języków programowania * - to jest raczej niejasna, ale użyteczna koncepcja, która staje się niespójna, gdy przesuwasz ją zbyt daleko, przykład rodzinnych podobieństw, takich jak "gra", którą Wittgenstein skrytykował. A jeśli są one placem zabaw dla Manfreda von Thuna, nie są prywatne: znalazłem pracę Christophera Digginsa na temat Cat. –

+7

Odpowiedź na tę odpowiedź można znaleźć tutaj: http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html Dlaczego nie ma znaczenia programowanie konkatenacyjne –

10

Czy istnieje inny sposób implementacji konkatenatywnego języka programowania zamiast bezpośredniego manipulowania stosem?

Tak. Język Enchilada opiera się na przepisywaniu terminu.

+2

+1, chociaż ich definicja "Konkatenatywna: składniowe łączenie wyrażeń postfiksowych, poprawne wyrażenia wydajności" jest właśnie rodzajem niecodziennego pomysłu, na który Norman narzeka w swojej odpowiedzi. –

+1

Tak, myślę, że wszyscy zaangażowani w rodzaj "konkatenatywnych" języków tworzą definicję dla siebie. Geenral "feel" w językach są takie same, więc nie będę się tym martwić :) – Dan