Size: a a a

F# Flood: Смак с Андреем Макаревичем

2020 March 19

A

AlexxSt in F# Flood: Смак с Андреем Макаревичем
Shub Niggurath
вся система уже сейчас не знает про мой эфшарп, система знает только про гарантированный контракт выраженный жсоном
А может тебе тупо написать генератор разбора, если спеки готовые есть?
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
если бы этот жсон присылался мне от своих же - то это было бы полбеды, можно было бы банально слать f# представления жсонами, по крайней мере вопрос с быдлопарсингом снялся бы
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
AlexxSt
А может тебе тупо написать генератор разбора, если спеки готовые есть?
это 100% придется сделать. я пытаюсь обернуть свою голову вокруг самого эргономичного способа это сделать. тут еще есть ньюанс, что мне настоятельно рекомендовано использовать только определенные либы
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
как план Б я все же рассматриваю TypeShape\UnionEncoder
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
но еще больше хочется придумать обобщенный метод работы с этими ивентами, не описывая обработку каждого кейса вручную и не диспетчеризуя обработчики вручную
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
пусть работает железный паровоз, как говорится
источник

SB

S B in F# Flood: Смак с Андреем Макаревичем
Shub Niggurath
пусть работает железный паровоз, как говорится
А по перфомансу что?
источник

SB

S B in F# Flood: Смак с Андреем Макаревичем
Требования суровые?
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
шоб вам было понятно, в чем проблема - вот пример реального жсона
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
источник

SB

S B in F# Flood: Смак с Андреем Макаревичем
Линкедлист обработчиков до первого победителя сойдет?
источник

SB

S B in F# Flood: Смак с Андреем Макаревичем
Диспетчеризацию за тебя условный цикл фор и случай сделают
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
а, еще я забыл рассказать про нарушения контрактов, лол. например, поля, которые выглядят как enum - могут принимать пустые значения или вовсе null. в зависимости от значений других полей
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
dид советует писать все вручную. ну типа в деревнях вообще все вручную и ничего. ко мне уже стоит очередь свидетелей дида с книгой мормона в руках, но это такое, отобьемся, лол
источник

VS

Vasily Shapenko in F# Flood: Смак с Андреем Макаревичем
А,так это вообще говно вопрос
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
S B
Линкедлист обработчиков до первого победителя сойдет?
оно там щас так и сделано, посмотри по первой ссылке
источник

VS

Vasily Shapenko in F# Flood: Смак с Андреем Макаревичем
У тебя конечное число примитивных типов
источник

SN

Shub Niggurath in F# Flood: Смак с Андреем Макаревичем
только там возможностей ошибиться сильно дофига
источник

VS

Vasily Shapenko in F# Flood: Смак с Андреем Макаревичем
Соответственно, нужно промежуточное представление
источник

VS

Vasily Shapenko in F# Flood: Смак с Андреем Макаревичем
Я с таким баловался
источник