
illiatshurotshka❄️
14.08.2017
18:25:11

? animufag ?
14.08.2017
18:25:14
are-done? is-done?

kana
14.08.2017
18:25:48
Ноуп, обычно to be или модальный глагол не пишут, когда ?

illiatshurotshka❄️
14.08.2017
18:26:21
нравится то, что в лиспах мало ограничений на названия переменных

Google

? animufag ?
14.08.2017
18:26:22
да просто пошутил, взял всё худшее

illiatshurotshka❄️
14.08.2017
18:26:53

kana
14.08.2017
18:27:05
Тогда бы areDone?)

? animufag ?
14.08.2017
18:28:06
puts gets ?
возможно. попробуй открой этим репл руби и введи одну строку, выведи ответ, введи другую строку (после ответа) и снова выведи ответ

illiatshurotshka❄️
14.08.2017
18:28:37
loop { puts eval gets }

? animufag ?
14.08.2017
18:28:39
а ну да лиспошутки
areDone??)))))0

illiatshurotshka❄️
14.08.2017
18:28:52
ты про это?

? animufag ?
14.08.2017
18:29:06
возможно
видимо это тривиальная задача для руби. он у меня установлен и сейчас попробуем проделать всё это

illiatshurotshka❄️
14.08.2017
18:30:41
в руби много что тривиально
он для этого и сделан
от этого страдает скорость, правда

? animufag ?
14.08.2017
18:31:03
ну разумеется я не про eval

Google

? animufag ?
14.08.2017
18:31:10
я про запуск irb
отдельным процессом
и общение с ним

illiatshurotshka❄️
14.08.2017
18:34:37
require 'irb'
inst = IRB::Irb.new
loop { puts inst.eval_input gets }
так что ли

? animufag ?
14.08.2017
18:39:33
мммм
ок, одна из изначальных задач общение через tg-cli
бот от моего имени
http://ruby-doc.org/stdlib-1.9.3/libdoc/open3/rdoc/Open3.html#method-c-popen3
в отличии от питона тут есть wait_thr что скорей всего может решить мою проблему, но к сожелению у него нет документации
я знаю что оттуда можно извлечь возвращаемое процессом число
возможно тут есть help(f) как в божественном питоне

Denis
14.08.2017
18:43:05

? animufag ?
14.08.2017
18:44:10
ну у питона там тоже был popen, но блокирующего общения с процессом я особо не смог нормально организовать, чтобы как в терминале процесс тебе что-то пишет а потом предлагает что-то ввести
у тебя есть stdin и stout (err похуй) и оба живут независимо
видимо отсутствие поставки доков ускоряет разработку в динамических языках
сразу пишешь на so вместо того чтобы чёто там ковырять

andretshurotshka?❄️кде
14.08.2017
18:54:14
?

? animufag ?
14.08.2017
18:58:15
ладно в общем то там норм с метаинформацией в рантайме

Google

? animufag ?
14.08.2017
18:58:28
так что можно узнать что за класс и какие есть методы
это просто Thread и я могу просто дождаться его завершения
require 'open3'
Open3.popen3("irb") {|stdin, stdout, stderr, wait_thr|
stdin.write gets
stdin.flush
puts stdout.read
stdin.write gets
stdin.flush
puts stdout.read
stdin.close
stdout.close
}
что-нибудь такое сделать
видимо не выйдет

Даниил
14.08.2017
19:42:21

illiatshurotshka❄️
14.08.2017
20:04:08
да и боль траверсинга по коду из-за синтаксиса сложно игнорировать

kana
14.08.2017
20:11:30
При чтении боли обычно нет, иногда боли случаются при написании (лишние скобки или их отсутствие, но решилось паринфером)

Сергей
15.08.2017
01:05:19
@ZeroBias зацени :)
https://github.com/pocka/rusted

andretshurotshka?❄️кде
15.08.2017
04:39:43
а че не сразу лоадер раста для вебпака

andretshurotshka?❄️кде
15.08.2017
07:13:49
https://github.com/types/npm-ramda/pull/190 ??

Arcady
16.08.2017
07:30:44
Народ, в lodash есть проверка на вложенные свойства типа
const a = {name: {id: 'hello,world'}};
_.hasIn(a, 'name.id');
а в Ramda как это сделать? R.hasIn('name.id',a) не работает.

Дмитрий
16.08.2017
07:38:02

Arcady
16.08.2017
07:40:50
хм, R.path(['name', 'id'], a); работает. тогда зачем hasIn в рамде нужна?

Дмитрий
16.08.2017
07:43:23
has проверяет свойство только в самом объекте, а hasIn перебирает всю цепь прототипов как обычный in

Arcady
16.08.2017
07:43:57
спс

andretshurotshka?❄️кде
17.08.2017
03:12:19
?

illiatshurotshka❄️
17.08.2017
19:59:52
?

Google

andretshurotshka?❄️кде
18.08.2017
05:44:33
https://github.com/TylorS/mostly-futures

Дмитрий
18.08.2017
05:46:25
У него как обычно ts ради ts
Задачу futures надо решать вообще с другого конца, не с типов
А с того, чтобы эти futures были stack-safe, что подразумевает совсем другие подходы нежли return { fork: () => new Promise<A>(run) }

andretshurotshka?❄️кде
18.08.2017
05:49:11
Был бы тс ради тс он бы назвал пакет typed-futures

Admin
ERROR: S client not available

Дмитрий
18.08.2017
05:50:53
Ну он пока назвал пакет change-me

andretshurotshka?❄️кде
18.08.2017
05:50:59
)

Дмитрий
18.08.2017
05:51:30
stack safe это?
Чтобы не падал от тысячи вложенных вызовов, что бывает гораздо чаще чем кажется)
Я такие эксперименты первым делом на это проверяю

andretshurotshka?❄️кде
18.08.2017
05:52:03
Типо рекурсивный резолв?

Дмитрий
18.08.2017
05:52:10
Да

andretshurotshka?❄️кде
18.08.2017
05:52:16

Дмитрий
18.08.2017
05:52:33
fluture выдерживает сорок тысяч вложенных вызовов, apropos — миллион

andretshurotshka?❄️кде
18.08.2017
05:52:50

Дмитрий
18.08.2017
05:54:21
most не проверял но тоже должен)
tl;tr
let instance = new TestedLib
const inc = x => x + 1
for (let i = 0; i < 1000; ++i)
instance = instance.nextFunctionCall(inc)

andretshurotshka?❄️кде
18.08.2017
05:56:23
Можно репо запилить

Google

andretshurotshka?❄️кде
18.08.2017
05:56:33

Дмитрий
18.08.2017
05:56:50
Что угодно, что ты хочешь проверить в либе
Допустим да, map

andretshurotshka?❄️кде
18.08.2017
05:58:42
?

Дмитрий
18.08.2017
05:59:09
Ну может быть ещё chain например, им уронить либу как правило даже проще)

andretshurotshka?❄️кде
18.08.2017
05:59:23

Дмитрий
18.08.2017
06:00:18
Стараюсь)
К нему там надо ещё monad transformer добавить чтобы удобнее было

andretshurotshka?❄️кде
18.08.2017
06:02:07
лучше purescript

Дмитрий
18.08.2017
06:02:17
Ну это да)

andretshurotshka?❄️кде
18.08.2017
06:05:05
Вроде в пурсе проще юзать Eff вместо трансформеров

Дмитрий
18.08.2017
06:05:11
И то же самое с фьючерсами и стримами, короче, чтобы нормальный стек забабахать)
Хотя там хз, у меня ещё не было времени добраться там до monad stack)
Просто вот допустим ты собрал в R все данные для реквеста, и делаешь either.map( data => axios.post(data) ) и на выходе у тебя получается объект с промисом/фьючерсом в R, который как ни крути надо как то извлечь
Там не большая функция получается, я уже пробовал, но оформлять либу — это каждый раз минимум пол дня)

andretshurotshka?❄️кде
18.08.2017
08:35:19
?