@frp_ru

Страница 133 из 420
? 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
puts gets ?
эта строка примет ввод и выведет его

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) как в божественном питоне

? 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
кложа пизже, да и жс тоже)
...до того момента, пока ты не попытаешься использовать java библиотеки в кложе

да и боль траверсинга по коду из-за синтаксиса сложно игнорировать

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) не работает.

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 — миллион

Дмитрий
18.08.2017
05:54:21
most не проверял но тоже должен)

У тебя тест кейс есть?
https://github.com/zerobias/mezzanine/blob/master/test/fantasy.test.js#L56

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
Дмитрий
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
Ну это да)

К нему там надо ещё monad transformer добавить чтобы удобнее было
Типа такого нужно unwrap L R :: Apropos<L, Promise<R>> -> Promise< Apropos< L, R >>

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

Дмитрий
18.08.2017
06:05:11
И то же самое с фьючерсами и стримами, короче, чтобы нормальный стек забабахать)

Вроде в пурсе проще юзать Eff вместо трансформеров
Ну тебе всё равно нужно в какой-то момент такие трансформации делать

Хотя там хз, у меня ещё не было времени добраться там до monad stack)

Просто вот допустим ты собрал в R все данные для реквеста, и делаешь either.map( data => axios.post(data) ) и на выходе у тебя получается объект с промисом/фьючерсом в R, который как ни крути надо как то извлечь

Там не большая функция получается, я уже пробовал, но оформлять либу — это каждый раз минимум пол дня)

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

Страница 133 из 420