Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.1 пользователей не могут ошибаться!
?6942
прекрасное6443
говно5905
говнорашка5512
хуита4713
anime3066
linux2652
music2634
bnw2602
рашка2565
log2354
ололо2171
дунч1824
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1419
дыбр1238
гімно1158

Узнал сегодня про макрос with-method, который я оказыется успешно перезобрел пару раз.

Макрос извлекает методы ил класса и биндит их как функции на область действия.

(with-method ((id (obj-expr method-id)) ...)
body ...+)

http://docs.racket-lang.org/reference/ivaraccess.html?q=with-#%28form._%28%28lib._racket%2Fprivate%2Fclass-internal..rkt%29._with-method%29%29

#VDIVKC (0) / @ninesigns / 3950 дней назад

http://imgur.com/QUTnVcA

#YZV7AW (0) / @ninesigns / 4040 дней назад

Суровый выхлоп работы ракетовского макростеппера:
(define (g)
(forever (let ([abort abort])
(unless #t (abort)) (abort))))))

Для тех, кому интересно: первый abort имееет контекст из раскрытия макроса while', а второй - из раскрытия макросаforever', этакие костыли для обхода гигены без использвания stx-params.
сорцы: http://paste.lisp.org/display/138905
соус: barzilay.org/misc/stxparam.pdf‎

#1UQKN6 (1) / @ninesigns / 4090 дней назад

Считаете, что монадные трансформеры это сложно?

Попробуйте разобраться с syntax model в racket!

#YDNPWW (0) / @ninesigns / 4114 дней назад

Ну короче, как обычно было нечего делать, запилил тупую генерацию выпуклой оболочки трех точек (ТРЕУГОЛЬНИК ДА)
методом выпуклых сумм векторов.

Картинко:
http://i.imgur.com/tMDt225.png

Сорсы:
https://github.com/4DA/racket-algorithms/blob/master/build_convex_hull.rkt

#P0JMB1 (5) / @ninesigns / 4125 дней назад

В ракете есть гуй: http://docs.racket-lang.org/gui/ Но только он какой-то странный. Копировать из messagebox-ов нельзя. ctrl-c ctrl-v в текстовых полях не работает, хз вообще что делать. Вообще ракет странный и такое впечатление, будто какой-то недоделанный. Или просто логика тех, кто его делал, какая-то своя, необычная, никакувсех. Например, я так и не нашёл команду, которая бы возвращала булево значение присутствует ли данный элемент в данном списке или нет. Зато есть команда (member e lst), которая возвращает кусок списка lst начиная с элемента e, а если такого элемента там нет, то возвращает #f. Я написал вот такой костыль:

(define (member? el lst)
(not (equal? (member el lst) #f)))

Это не сложно, но как-то странно, что в языке, который построен на операциях со списками чуть менее чем полностью, такой банальной хуйни нет по умолчанию.

#MP8DR9 (4) / @goren / 4160 дней назад

Fear of Macros.
Неплохой туториал по макросам.

http://www.greghendershott.com/fear-of-macros/index.html

#6381U0 (7) / @ninesigns / 4210 дней назад

Русское быдло в рассылке racket
http://lists.racket-lang.org/users/archive/2013-March/056969.html

#PUJ1P3 (0) / @ninesigns / 4239 дней назад

Хочу начать костылять интерпретатор elisp на racket.
Дальше в планах - реализация недоемакса.

Чят, отговори.

#EPA3ZB (62) / @ninesigns / 4240 дней назад

General Parser Combinators in Racket
https://github.com/epsil/gll

#LXWV5F (0) / @ninesigns / 4263 дня назад

На лоре спросили:
/можно ли написать на Racket такую функцию, чтобы внутри неё (в её динамическом окружении) делений на 0 возвращало 0, а не прерывало вычисления/

Короче, да:

(define-syntax-rule (try-or-zero body ...)
(let/cc k (with-handlers ([exn? (λ _ (k 0))])
body ...)))

(define (testl l)
(if (null? l)
'()
(cons (try-or-zero (/ 1 (car l)))
(testl (cdr l)))))

(testl '(1 2 3 0 5))

#J5GWTF (0) / @ninesigns / 4268 дней назад

настало время факториалов.

мемоизация на ракете.
nothing special.

lang racket

; replace define with a memoized version
(define-syntax define-memoized
(syntax-rules ()
[(_ (f args ...) bodies ...)
(define f
; store the cache as a hash of args => result
(let ([results (make-hash)])
; need to do this to capture both the names and the values
(lambda (args ...)
((lambda vals
; if we haven't calculated it before, do so now
(when (not (hash-has-key? results vals))
(hash-set! results vals (begin bodies ...)))
; return the cached result
(hash-ref results vals))
args ...))))]))

; example, fibonacci with memoization
(define-memoized (mfib n)
(cond
[(< n 1) 1]
[else (+ (mfib (- n 1)) (mfib (- n 2)))]))

#RJI5OH (1) / @ninesigns / 4271 день назад
Хорошая видяшка про racket с презентацией. http://www.infoq.com/presentations/Racket
#F4OX89 (0) / @ninesigns / 4292 дня назад
Короче, хотел распараллелить свой костылерейтрейсер на future-сах. Соснул: http://ompldr.org/vaGpiaQ Примитив values лочит поток.
#VXB83B (0) / @ninesigns / 4293 дня назад
Тут короче понадобилось заюзать мне binary heap в racket и захотел я это сделать с использованием стандартных схем итерации через for-iterations. Однако текущая binary heap не реализует нужный интерфейс (stream?). Поэтому кое-чего нужно доопределить. К счастью, в racket это сделать достаточно просто. Необходимо задать структуру, реализующую три функции: stream-empty? stream-first и stream-rest (тест на пустоту потока, получение элемента из головы и хвоста) (define-struct hstream (v) #:methods gen:stream [(define (stream-empty? st) (eq? (heap-count (hstream-v st)) 0)) (define (stream-first st) (heap-min (hstream-v st))) (define (stream-rest st) (begin (heap-remove-min! (hstream-v st)) (hstream (hstream-v st))))]) простой пример: > (define h1 (make-heap <)) > (heap-add! h1 8) > (heap-add! h1 11) > (heap-add! h1 2) > (for/list ([x h1]) x) for: expected a sequence for x, got something else: #<heap> > (for/list ([x (hstream h1)]) x) '(2 8 11)
#T6TFST (0) / @ninesigns / 4337 дней назад
Собрал racket-5.3.1 под текущий debian testing Не знаю зачем выкладываю, вдруг кому понадобится. http://ompldr.org/vZ3lkMQ
#VET1VQ (0) / @ninesigns / 4339 дней назад
Встречайте феерическое NENUZHNO. рейтресер на ракете. https://github.com/4DA/racktracer/blob/master/rt.rkt Фичи: никаких фич, только сферы, только ортогональная проекция, только хардкор. Освещение, прозрачность, тени? we don't need them! Плюс еще дико тормозит. Зато рендерит в окошечко и не надо геморроиться с чтением битмапов.
#ACAHIF (0) / @ninesigns / 4392 дня назад
geiser или quack? Что полущ?
#IB2007 (5+1) / @ninesigns / 4412 дней назад
/Шаг за пределы хаскеля - и все, туши свет, "не вижу, не слышу, не знаю и знать не хочу"./ http://xeno-by.livejournal.com/77979.html Какое емкое описание всего треда.
#4XW5FE (8) / @ninesigns / 4457 дней назад
Я ебал какая PLaneT няша
#GQJTYR (1+1) / @stiletto / 4868 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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