Weekly linkdump #80
Макс ИщенкоОпубликовано 18.05.2007 в Ссылки
Интересные ссылки за неделю:
- Y Combinator for Dysfunctional Non-Schemers — Y combinator in Javascript (самое популярное описание из всех, что я видел).
- A Functional Pattern System for Object-Oriented Design – достаточно взвешенное и разумное сравнение ФП и ООП, плюс несколько ФП паттернов в классическом ОО-контексте. рекомендуется [для младшего и среднего программистского возраста] как для тех, кто хочет поругать ФП, но не знает как, так и для тех, кто не прочь использовать функциональный подход в C++/Java. (via motus)
- Exceptional Code — использование механизма исключений в PHP5
- Ubuntu Unleashed — книга в свободном доступе по Ubuntu Linux
- Yet Another Software Challenge
- Advanced Python or Understanding Python – Google Video
Ссылки на следующий линкдамп оставляйте в комментариях.
Понравилась статья? Подпишись на обновления по RSS/E-mail

http://simonwillison.net/2007/May/16/libraries/ – JavaScript Libraries: The Big Picture – слайди
Тест сайтов на пригодность к показу на мобилах. Моему блогу поставили 1.1 (и округлили до 2
) и подробно объяснили почему.
Y Combinator это конечно нечто. Если так уж надо чтобы функция вызывало пренепременно себя без поиска в общем пространстве имен, то в нормальном языке
это делается без кипячения мозгов.
class Factorial:
def __call__(self, n):
if n
Если приспичило прикрутить рекурсию анонимной функции (хотя в таком случае лучше подлечиться), то тоже несложно :
class Y(object):
def __init__(self, f):
self.f = f
def __call__(self, *a):
return self.f(self.f, *a)
fact = Y(lambda self, n: n
блог сожрал форматирование, разве ж так можно на девелоперском сайте?
В общем вот код: http://rafb.net/p/PlWldl14.html
Или вот так:
Y = lambda f: (lambda *a: f(f,*a))
fact = Y(lambda self, n: n
Или вот так: http://rafb.net/p/2f2L1u40.html
Необходимости в recur(recur) что-то не видно. Может я что-то упустил?
Ага, разобрался в итоге. Вся эта мутотень на самом деле делается для того чтобы реализовать подобные вещи в лямбда-исчислении, в котором функции могут принимать только один аргумент. Ужас.
На маю думку, одна з особливостей JavaScript – ця мова сама по собі трохи заохочує до різних експериментів і збочень – типу того, що було написано в Y Combinator for Dysfunctional Non-Schemers.
Кстати. Поставил себе highlight.js и очень доволен. Есть готовый плагин для вордпресса, ставится в минуты.
Implementing a syntax-higlighting JavaScript editor in JavaScript or A brutal odyssey to the dark side of the DOM tree
Тобто
http://marijn.haverbeke.nl/highlight/story.html