169 похожих чатов

Что про такое скажете? сложность от "сделать пару имплисит классов для

человекоподобного дсля" и до тайплевел проверки координат

robot is on 2D plane (bonus: with possible obtacles)
design an edsl to describe it's movements with commands like "move 3 meters to north" / "walk left while you don't hit an obtacle"

goals (bonus points it those are implemented in _compile_ time, not just a runtime assert):

1) commands should represent English sentences as mush as possible
example: "move 30 inches to left" can be 100% valid Scala code

2) think about how to restrict usage to either metrical or imperial unit system, i.e. they should not be mixed
example: "move 3 meters left" & "move 3 inches down" should not work

3, bonus) try to make the system as much fool-proof as you can, i.e. don't allow robot to execute apriori incorrect commands
example: when robot starts at position (0, 0), it cannot move north
tip: you can assume that plain is defined at compile time

2 ответов

15 просмотров

в аду таких не помещают в котел, а заставляют кодить на недокументированном "англоязычном дсл", который писали не они

но когда еще куча монад с либок + самописных как ето вобще читать возможно, приходиться тратить кучу времени на изучение dsla вместе с кодом. каждый фп проект на скала же отличаеться друг от друга

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта