Size: a a a

2020 December 21

SA

Sokolov Andrew in Lisp Forever
Dmitry Plesovskykh
кстати, я не смотрел детально на Shen (Qi) - там как обстоят дела с зависимыми типами?
платное говно не интересует
источник

DP

Dmitry Plesovskykh in Lisp Forever
может не кому не надо? или если тебе нужно, то почему ты не сделаешь - хотя бы прототип. или просто опишешь класс задач (с примером реальной задачи), где это прям вообще ппц как надо. и что вот у нас есть проблема, решенная плохо. а вот вам такое же решение на зависимых типах - держите, просвещайтесь
источник

DP

Dmitry Plesovskykh in Lisp Forever
Sokolov Andrew
платное говно не интересует
просто как концепт, я не говорю этим пользоваться. но почему не изучить опыт
источник

SA

Sokolov Andrew in Lisp Forever
Dmitry Plesovskykh
локальный вывод типов, там где ты сам сказал, что да, давайте тут выводить - это вполне себе гуд. я против вывода типов везде и по дефолту. потому что это оверхед и "ненужно"
оверхед чего времени компиляции? на сколько лет ты постарел пока ждал как лисп компилируется
источник

SA

Sokolov Andrew in Lisp Forever
Dmitry Plesovskykh
что с макросами делать в системе с тотальным выводом типов? у нас есть примеры статически типизированных макросов - nemerle, scala. смотрятся ... э, ну так себе
про макросы я ваще не уверен
можно како то пример макроса который ломает вывод типов
источник

SA

Sokolov Andrew in Lisp Forever
ну кто интересовался говорят что дескать
...необычно но прикольно
источник

SA

Sokolov Andrew in Lisp Forever
Dmitry Plesovskykh
может не кому не надо? или если тебе нужно, то почему ты не сделаешь - хотя бы прототип. или просто опишешь класс задач (с примером реальной задачи), где это прям вообще ппц как надо. и что вот у нас есть проблема, решенная плохо. а вот вам такое же решение на зависимых типах - держите, просвещайтесь
я не настолько крутой чтоб такое делать
источник

SA

Sokolov Andrew in Lisp Forever
а насчет никому не надо это конечно бредятина
источник

SA

Sokolov Andrew in Lisp Forever
всем все надо
источник

DP

Dmitry Plesovskykh in Lisp Forever
а как привести пример макроса ломающего систему типов, если лисповые макросы не находятся в среде с выводом типов тотальным?
источник

SA

Sokolov Andrew in Lisp Forever
не сделал = не хочешь это самое тупое равенство на свете
источник

SA

Sokolov Andrew in Lisp Forever
ну вообрази что там это происходит
источник

SA

Sokolov Andrew in Lisp Forever
в чем проблема то
источник

DP

Dmitry Plesovskykh in Lisp Forever
> оверхед чего времени компиляции?

да не, на время компиляции вообще плевать. оверхед в смысле что ты вместо написания программы доказываешь компилятору, что ты хочешь от него получить рабочую программу. ну смотри, чем контракты например лучше - что угодно подходящее под контракт будет работать, а с жесткой системой типов тебе надо для нового кода учитывать как он будет (допустим, со сторонней библиотекой типизированной) взаимодействовать
источник

DP

Dmitry Plesovskykh in Lisp Forever
Sokolov Andrew
не сделал = не хочешь это самое тупое равенство на свете
так я так нигде не говорил. те кто хотят, наверное, что-то у них не получается. а те, у кого получиться бы могло - наверное не хотят (раз не сделали). может времени нет - но это одно и то же, то есть "не очень-то и нужно"
источник

DP

Dmitry Plesovskykh in Lisp Forever
Sokolov Andrew
я не настолько крутой чтоб такое делать
так вопрос не в крутизне, я вообще  начинающий лиспер, можно сказать. хотелось бы просто умозрительного примера нужности для конкретной задачи. и концепта реализации зависимых типов на лиспе (любом)
источник

DP

Dmitry Plesovskykh in Lisp Forever
Sokolov Andrew
ну вообрази что там это происходит
так зачем воображать - статически типизированные макросы есть, в немерле например. но смотрятся ужасно. нужен концепт того, как бы это смотрелось (не ужасно) в лиспе. можно просто на бумажке. никто ж не заставляет писать компилятор
источник

DP

Dmitry Plesovskykh in Lisp Forever
чисто теоретически оформить - как оно выглядит, как используется. если людям понравится - кто-то возьмется за реализацию, не?
источник

DP

Dmitry Plesovskykh in Lisp Forever
на счет макросов почему тут могут быть проблемы с типизацией - результат макроса это вообще по сути что угодно, ты не знаешь заранее что получишь. кроме того, задачей может быть генерить вообще невалдный код, в терминах хостового языка. если ты пишешь новый DSL - как его тайпчекать?
источник

DP

Dmitry Plesovskykh in Lisp Forever
а главное зачем. тебе на этапе прототипа надо просто *увидеть* что получилось, языка, допустим, самого еще не существует
источник