Дмитрий
А то не отвечает
Дмитрий
А, ок, это я просто не вижу
Ayrat
Romɑn
Vladislav
попробуй это)
https://mvanier.livejournal.com/2897.html
A combinator is just a lambda expression with no free variables. We saw above what lambda expressions are (they're just anonymous functions), but what's a free variable? It's a variable (i.e. a name or identifier in the language) which isn't a bound variable. Happy now? No? OK, let me explain.
Читаю, охуенная статья)
Ayrat
Vladislav
В сишарпе и фшарпе получается слабая типизация из-за возможности кастовать объекты?
Dr. Friedrich
Vladislav
So Scheme, which is dynamically typed, is also strongly typed, while C, which is statically typed, is weakly typed (because you can cast a pointer to one kind of object into a pointer to another type of object without altering the pointer's value).
Vladislav
Там просто так написано
Dr. Friedrich
Я бы материал статьи интерпретировал так: если тип не является непосредственным атрибутом значения, а зависит от внешних обстоятельств — то это слабая типизация.
Dr. Friedrich
В CLI тип является атрибутом значения.
Dr. Friedrich
И даже в JS, внезапно.
Dr. Friedrich
Получается, что «слабо типизированы» в основном низкоуровневые языки, которые позволяют прямо реинтерпретировать значения в контексте разных типов.
Dr. Friedrich
Но тут разобраться надо, каков терминологический базис статьи.
Vladislav
Vladislav
В плюсах и сях этого нет поэтому слабая
Vladislav
Код -> инструкции
Dr. Friedrich
В плюсах много чо есть, нельзя однозначно говорить
Vladislav
Dr. Friedrich
Скорее можно сказать, что в ряде случаев в плюсах сильная типизация нарушается.
Dr. Friedrich
А в ряде случаев может быть сохранена (там, где у тебя есть RTTI — dynamic_cast, например).
Dr. Friedrich
(простите, вместо RTTI написал RAII, исправил)
Vladislav
Nikolay
Как эффективно сгенерировать n-gram? Т.е., например для триграм и символов A,B,C нужно сгенерировать следующий массив:
AAA
AAB
AAC
ABA
ABB
ABC
ACA
ACB
ACC
BAA
...
Nikolay
Чёт я наговнякал на питоне, мне памяти не хватает для 160 символов
Nikolay
А там всего 4млн где-то будет 3-грам
Vasily
Radix tree
Nikolay
Не, в другом трабл, у меня алгоритм косячный
Dr. Friedrich
Prefix или suffix tree можна.
Nikolay
Деревья не нужны
Nikolay
Именно просто генерацию сделать нужно эффективно
Nikolay
У меня он чёт гигабайты жрёт памяти
Vasily
Ну хз
Nikolay
Vasily
Хаха
Vasily
Обычная рекурсия
Nikolay
Много лишних операций, а я чёт не пойму как умнее сделать :(
Vasily
Ну есть набор символов
Vasily
Тебе , как я понял, надо находить все перестановки в тройках
Dr. Friedrich
Если ты сразу знаешь, скоко грам тебе надо, то лучше в массиве сразу место зарезервируй
Dr. Friedrich
Алсо в питоне строки иммутабельные же?
Dr. Friedrich
Лучше тоже тогда заюзай какой-то стрингбилдер, а то у тебя мусора тут много.
Nikolay
for c1 in chars_list:
for c2 in chars_list:
for c3 in chars_list:
result.append(c1 + c2 + c3)
Nikolay
Вот такая штука быстро работает
Dr. Friedrich
Предположу, что она не мусорит так сильно. Если интерпретатор умеет в оптимизацию string1+string2+string3
Nikolay
Igor
Dr. Friedrich
Вообще код какой-то фуфлыжный, ещё и рекурсию навернул :)
Сложно его по памяти будет оптимизировать.
Vladislav
Так у тебя резалт не ленивый
Dr. Friedrich
Давай-ка берись за ум и делай норм
Vladislav
Понятно гигабайты рам жрет
Nikolay
Nikolay
Vladislav
Он и не должен быть
Просто не проще это итератором сделать а хранение на вызывающего отдать?
Vladislav
В питоне же они есть вроде
Nikolay
Dr. Friedrich
Всё равно будет хунта
Nikolay
Смысла нет
Nikolay
А потом в память загружается как dictionary
Dr. Friedrich
Dr. Friedrich
В файл-то как раз есть смысл сохранять построчно или как-то буферить
Dr. Friedrich
Тебе точно не нужно 20 гигов памяти, чтобы сохранять потоково данные в 20-гиговый файл
Nikolay
Нельзя
Vladislav
Nikolay
Vladislav
(Y f) = (f (lambda (x) ((Y f) x)))
Чет я запутался в лиспе этом
Тут что внутри происходит?
Nikolay
x)))
Vladislav
@AnutaU @omgszer
Dr. Friedrich
Dr. Friedrich
Зочем ты его рекурсивно записал?
Vladislav
Dr. Friedrich
А, ок
Vladislav
(Спустя 40 минут)
Vladislav
(define Y
(lambda (f)
(f (lambda (x) ((Y f) x)))))