История изменений
Исправление AndreyKl, (текущая версия) :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией насыщателя (?? что ли.. не знаю как по русски elaboration reflection) http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Правда этот код сам не идрис.. т.е. он не типизируется зависимыми типами, это как бы скриптовой подъязык, вроде тактик в коке. Если я верно помню это.
...
Т.е. это сам идрис, но это отдельная монада. Т.е. там можно писать как в хаскеле что угодно внутри монады и это не особо проверишь типами, т.е. там проверка довольно слабая.
Но эта слабая проверка относится к коду выполняемому в компил-тайме.
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией насыщателя (?? что ли.. не знаю как по русски elaboration reflection) http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Правда этот код сам не идрис.. т.е. он не типизируется зависимыми типами, это как бы скриптовой подъязык, вроде тактик в коке. Если я верно помню это.
...
Т.е. это сам идрис, но это отдельная монада. Т.е. там можно писать как в хаскеле что угодно внутри монады и это не особо проверишь типами, т.е. там проверка довольно слабая.
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией насыщателя (?? что ли.. не знаю как по русски elaboration reflection) http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Правда этот код сам не идрис.. т.е. он не типизируется зависимыми типами, это как бы скриптовой подъязык, вроде тактик в коке. Если я верно помню это.
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией насыщателя (?? что ли.. не знаю как по русски elaboration reflection) http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Правда этот код сам не идрис.. т.е. он не типизируется зависимыми типами, это как бы подъязык, вроде тактик в коке. Если я верно помню это.
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией насыщателя (?? что ли.. не знаю как по русски elaboration reflection) http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
И это не хак компилятора, а более-менее обычный код (на идрисе это зовётся рефлексией http://docs.idris-lang.org/en/v1.1.1/reference/elaborator-reflection.html)
Исправление AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме ведь речь?
Я говорю о возможности языка написать средствами языка парсер, который в компилтайме проверит соотвествие шаблона из файла некоторым правилам, заданным в исходном коде.
Исходная версия AndreyKl, :
Я говорю о компилтайме. У тебя о рантайме речь?