Мохнатые уроды и моральные пёзды. Войти !bnw Сегодня Клубы

На лоре опять выходит на связь упоротый жаваскриптер со своими охуительными вопросами.

На этот раз он утверджает что поскольку в JS apply принимает дополнительный параметр - объект, this которого будет активным во время функции, которую вызывает apply, то это является более мощной АБОСРАКЦИЕЙ.

Хуйта канеш. От нечего делать накидал подобную херню в схемке. ths лексически биндится на передаваемый объект в теле функции.

#lang racket
(require syntax/parse/define)
(require racket/stxparam)

(define-syntax-parameter ths 
    (lambda (stx) (raise-syntax-error #f "Not used inside js-apply!" stx)))

(define-simple-macro (js-apply obj:expr fn:expr args...)
  (let ([this-obj obj])
    (syntax-parameterize ([ths (make-rename-transformer #'this-obj)])
             (apply fn args...))))


(js-apply (new (class object% 
         (super-new) 
         (init-field [x 10])))
      (lambda (y) (+ y (get-field x ths)))
      (list 1))

;; 11
#9PE2ER / @ninesigns / 3458 дней назад

как обычно отсос маркдауна в meow

#9PE2ER/0RJ / @ninesigns / 3458 дней назад
ебанулся штоле js-блядкам что-то доказывать?
#9PE2ER/BDS / @gds / 3458 дней назад

@gds /s/js-блядкам/в интернете

#9PE2ER/8VH / @ninesigns --> #9PE2ER/BDS / 3458 дней назад
Ты гей, ебись в жеппу! anonymous (27.10.2014 21:10:46)
#9PE2ER/C7Z / @lexszero / 3458 дней назад
@4da (js-блядкам|в интернете) сорь
#9PE2ER/LMI / @gds --> #9PE2ER/8VH / 3458 дней назад
было в SICP
#9PE2ER/XBH / @kb / 3458 дней назад
Так уровень абстракции выше. Ты применяешь функцию к объекту, но при этом абстрагируешься от того, имеет ли объект собственное поле, или оно унаследовано. Не надо лезть в детали реализации объекта.
#9PE2ER/FVD / @krkm / 3458 дней назад
@4da Я не ограничиваю себя объектами. у меня все явно описанные (связаные) аргументы заменяются значениями из массива (который есть расширенный плюшками список), переменные с this берут значения из объекта, а свободные — из лексического окружения. То есть, этот apply умеет все то же самое, что и лисповский, только намного больше.
#9PE2ER/MDP / @krkm --> #9PE2ER/0RJ / 3458 дней назад
@4da Нет, более высокий уровень абстракции имеет применение функции к объекту.
#9PE2ER/QAX / @krkm --> #9PE2ER/8VH / 3458 дней назад
>побежал реализовывать *НИНУЖНО* в своём маня-язычке >думает что победил в интернет-споре
#9PE2ER/UM4 / @anonymous / 3458 дней назад
@anonymous дваждую
#9PE2ER/4ZU / @krkm --> #9PE2ER/UM4 / 3458 дней назад

@krkm вы один персонаж чтоли сука? одними и теми же фразочками кидаетесь

#9PE2ER/EAY / @ninesigns --> #9PE2ER/FVD / 3458 дней назад
@4da я это ты
#9PE2ER/NGK / @krkm --> #9PE2ER/EAY / 3458 дней назад

@krkm ты это я

#9PE2ER/RGK / @ninesigns --> #9PE2ER/NGK / 3458 дней назад
@4da хочешь почувствовать привкус спермы?
#9PE2ER/B02 / @krkm --> #9PE2ER/RGK / 3458 дней назад

@krkm нет, мне хватило твоего описания, спасибо.

#9PE2ER/6IY / @ninesigns --> #9PE2ER/B02 / 3458 дней назад

@anonymous нужно, потому-что js-специалисты считают, что это повышает абосракцию.

#9PE2ER/Z77 / @ninesigns --> #9PE2ER/UM4 / 3458 дней назад
@4da всем все похуй, одному тебе печет, пидораха
#9PE2ER/35R / @krkm --> #9PE2ER/Z77 / 3458 дней назад
Странно, с каких пор передавать стейт в функцию стало дохуя абстракцией. Ему же потом этот стейт, кстати, придется протаскивать до самого низа декомпозиции, что нихуя не удобно (но в нормальных языках можно подсластить себе монадами).
#9PE2ER/89M / @ntsm / 3458 дней назад
@4da видимо, все жс петушки упарывают одинаково.
#9PE2ER/LZS / @ntsm --> #9PE2ER/EAY / 3458 дней назад

@krkm либераха

#9PE2ER/VLJ / @ninesigns --> #9PE2ER/35R / 3457 дней назад
@4da ебало закрой, бнвыдло тупое
#9PE2ER/4CU / @krkm --> #9PE2ER/VLJ / 3457 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.