Size: a a a

2021 April 07

f

for(int c; (c = getc... in ru.nim.talks
Хотя в принципе можно извратиться и написать case макрос котрый будет выглядеть и работать с типами
источник

f

for(int c; (c = getc... in ru.nim.talks
Вопрос зачем остается открытым, но все как обычно - можно написать макрос
источник

KD

Kitsune Digital in ru.nim.talks
Чтоб не плодить лишний синтаксический шум?
источник

KD

Kitsune Digital in ru.nim.talks
Чтоб синтаксический сахар был более консистентным?
источник

f

for(int c; (c = getc... in ru.nim.talks
https://play.nim-lang.org/#ix=2Vj2 хотя выглядит интересно, может быть потом куда-нибудь себе добавлю
источник

f

for(int c; (c = getc... in ru.nim.talks
И прикрутить более навороченные паттерны для типов
источник

KD

Kitsune Digital in ru.nim.talks
Если честно, я такое в базовом языке ожидала
источник

KD

Kitsune Digital in ru.nim.talks
Это ж, блин, логично, не?
источник

f

for(int c; (c = getc... in ru.nim.talks
ну такое. Это все же не питон, и мешать так явно compile-time и runtime конструкции мне кажется не очень хорошей идеей
источник

f

for(int c; (c = getc... in ru.nim.talks
when есть, оно работает как надо. То что небольшое количество визуального мусора присутствует спорить не буду
источник

f

for(int c; (c = getc... in ru.nim.talks
Но в целом никаких проблем не видел. Потомучто где when is там и всякий ад типа

  elif (entry is array) and
      (
        when compiles(genericParams(typeof entry)):
          get(genericParams(typeof entry), 0) is (
            StaticParam[char] or static[char] or char or
            StaticParam[enum] or static[enum] or enum
          )
        else:
          false
      )
   :
источник

f

for(int c; (c = getc... in ru.nim.talks
Ну и получается что мы смешали рантайм и compile-time конструкции для того чтобы убрать немного визуального мусора в самом простом случае
источник

f

for(int c; (c = getc... in ru.nim.talks
Потом начинаются брожения подобного рода "а почему я не могу инвертировать ограничения по типу", "а можно мне деконструкторы для типов" (чтобы можно было сделать array[_, @arrayElementType])
источник

A

Alexander in ru.nim.talks
обречено на провал :)
источник

KD

Kitsune Digital in ru.nim.talks
why?
источник

f

for(int c; (c = getc... in ru.nim.talks
Нет объединений, нельзя написать key-value тип
источник

A

Alexander in ru.nim.talks
потому что тут нет контракта - а, может я просто слишком быстро посмотрел - тип постоянно гоняется с данными
источник

KD

Kitsune Digital in ru.nim.talks
Схемы нет?
источник

A

Alexander in ru.nim.talks
да
источник

f

for(int c; (c = getc... in ru.nim.talks
И система типов такая простая что там половина умрет сразу в попытке скостыльнуть что-то более-менее сложное
источник