@spbpython

Страница 401 из 785
GNU/Docker
04.05.2017
07:07:06
Хех

Ридмакро

http://www.defmacro.org/ramblings/lisp.html

Google
Aleksandr
04.05.2017
08:25:18


Коллеги любят меня (нет)

Ruslan
04.05.2017
08:32:32
Коллеги любят меня (нет)
а это не ты был спикером на пайконе про любовь к cpython?

Aleksandr
04.05.2017
08:33:02
Это был я

Хрень какая то?)

Ruslan
04.05.2017
08:34:18
да не, крутой доклад) на этот что нибудь готовишь?)

Aleksandr
04.05.2017
08:34:35
Да, про пайпай

Ruslan
04.05.2017
08:34:58
ае

Dmitry
04.05.2017
11:16:11
https://twitter.com/piter_united/status/860041330441031680

это если кто парился, что билет нужен ) вот можете воспользоваться этой штукой ещё

Aleksander
04.05.2017
11:19:50
сс @jetbootsmaker
на сколько помню модифицировать можно то что проходит по синтаксису, если свой кейворд будет противоречить синтаксису - то скорее всего нет @me_mu поправь если не прав

Mehti
04.05.2017
11:22:55
на сколько помню модифицировать можно то что проходит по синтаксису, если свой кейворд будет противоречить синтаксису - то скорее всего нет @me_mu поправь если не прав
да, именно так в случае, если нужно добавить новое ключевое слово, то лучше использовать сторонние библиотеки и их расширять под свои нужды хотя, по моей памяти, все сторонние библиотеки используют стандартный ast в большей или меньшей степени и будет довольно непросто добавлять свои ключевые слова

Google
Serge
04.05.2017
11:57:44
невалидный код не может быть AST-ом
самый правильный путь — парсить код до превращения в AST и переписывать. т.е. заменять ключевое слово и его атрибуты собственной конструкцией языка. можно нахачить __builtin__ перед импортом, тогда какие-то функции можно будет применять, но не ключевые слова это всё можно сделать импортхуками

Aleksandr
04.05.2017
12:08:18
Nuff said)

Александр
04.05.2017
16:13:48
Потому что парсер надо расширять.
Есть ссылки на примеры?

b0g3r
04.05.2017
21:13:13
Твоя
04.05.2017
21:17:28
fail

Chikiro
04.05.2017
21:54:21


GNU/Docker
05.05.2017
04:29:37
Потомущ кейворды, стейтменты. Смерть мерзкая от синтаксиса.

Serge
05.05.2017
08:01:27
О себе. Пишу в основном на Python. Верю в светлое будующее.

Dmitry
05.05.2017
08:21:21
О себе. Пишу в основном на Python. Верю в светлое будующее.
задумался... второе как-то связано с первым?)

Aleksandr
05.05.2017
08:21:55
Судя по динамике развития сипитона нет.

Dmitry
05.05.2017
08:29:36
а вдруг у него 2.6)

GNU/Docker
05.05.2017
08:37:30
Подавился.

python --version Python 2.6.6

Dmitry
05.05.2017
08:40:00
GNU/Docker
05.05.2017
08:41:18
подумал что неплохо было бы запилить анафорический иф

Google
GNU/Docker
05.05.2017
08:41:23
в пузон

если для лиспа это короткий макрос, то тут придётся поприседать видимо

Dmitry
05.05.2017
08:51:06
можно попробовать сделать такой if сначала IF <cond> THEN <expression> ELSE <expression>

Sasha
05.05.2017
08:51:45
зачем?

Dmitry
05.05.2017
08:53:19
1 if 1 > 2 else 2 if 3 > 2 else 4

будет if 1 > 2 then 1 else if 3 > 2 then 2 else 4

Sasha
05.05.2017
08:54:20
Это вы сейчас про питон? о.О

Dmitry
05.05.2017
08:55:37
угу. ну мы же обсуждали как-то что <then-exp> if <cond> else <else-exp> выглядит как-то странно

GNU/Docker
05.05.2017
08:56:51
да

согласен

но это вообще проблема ифа

GNU/Docker
05.05.2017
08:57:15
потому что есть иф-экспрешн, а есть иф стейтмент.

Как обычно питон удивительно консистентен и логичен что ппц.

Sasha
05.05.2017
08:59:03
звучит достаточно бессмысленно и страшно

Sasha
05.05.2017
09:00:04
писать препроцессор

ради того, чтобы добавить то, что и так уже в языке есть

GNU/Docker
05.05.2017
09:00:30
Лол.

Анафорического ифа нет в языке

Google
Sasha
05.05.2017
09:00:53
ну напиши фунцию

def aif

Dmitry
05.05.2017
09:01:08
??

GNU/Docker
05.05.2017
09:01:11
И не может быть на уровне синтаксиса потому что способность к расширению не заложена в ядро.

Michael
05.05.2017
09:01:18
if 1 > 2: 1 elif 3 > 2: 2 else 4

Admin
ERROR: S client not available

GNU/Docker
05.05.2017
09:01:29
def aif
Java way

Sasha
05.05.2017
09:01:39
В смысле вы сказали достаточно очевидный факт

GNU/Docker
05.05.2017
09:02:00
Я хочу расширять синтаксис.

А не функции писать

Sasha
05.05.2017
09:02:09
пишите препроцессор

GNU/Docker
05.05.2017
09:02:20
И да, как мне туда код передать? Тоже функцию городить?

Michael
05.05.2017
09:02:20
Я хочу расширять синтаксис.
Тогда тебе в скала =)

Sasha
05.05.2017
09:02:41
да, там очень любят это делать, в scala core team

больше сахара!

GNU/Docker
05.05.2017
09:03:33
async await добавили же :)
В парсер и вм.

Sasha
05.05.2017
09:03:57
вы так говорите, как будто в этом есть что-то плохое

GNU/Docker
05.05.2017
09:04:17
Я говорю как будто есть другой подход. И он есть.

Sasha
05.05.2017
09:04:27
и да есть, но тут он при чем?

Google
GNU/Docker
05.05.2017
09:04:30
Мне просто не нравится такая деревянность.

Sasha
05.05.2017
09:04:52
какие это позволяет решить задачи?

GNU/Docker
05.05.2017
09:05:04
Любые

Моментальный дсл

Sasha
05.05.2017
09:05:24
?

почему бы просто не писать на лиспе?

GNU/Docker
05.05.2017
09:06:18
Из лиспа много чего позаимствовано

А вот такое - нет.

Aleksandr
05.05.2017
09:06:24
хачить парсер питона сложно и неблагодарно, я пробовал

Sasha
05.05.2017
09:06:28
в очень многих языках

GNU/Docker
05.05.2017
09:06:40
Поэтому мне просто грустно от дерьмовых языков, простити.

Sasha
05.05.2017
09:06:54
сравните грамматику питона и лиспа

Sasha
05.05.2017
09:07:02
а потом говорите про макросы в питоне :)

GNU/Docker
05.05.2017
09:07:11
сравните грамматику питона и лиспа
Сравнивал и что? Это не плюс в сторону питона.

Aleksandr
05.05.2017
09:07:19
нахачить репл например проще

Страница 401 из 785