
Vladimir
21.03.2017
19:56:04
знайте это и бойтесь нас

? animufag ?
21.03.2017
19:56:35

Vladimir
21.03.2017
19:57:11
человеческий мозг работает по странным механизмам

Google

Vladimir
21.03.2017
19:57:39
это вообще не компьютер

? animufag ?
21.03.2017
19:57:55
а не) не правильно тебя понял
я списал с препода и пытался понять как оно работает

Vladimir
21.03.2017
19:57:56
это какая-то машина для нечеткого паттерн-матчинга
в spacemacs кстати завезли coq layer (просто proof general прикрутили)
я опробовал, всё ок
можете теперь пользоваться

eugene
21.03.2017
20:00:34
Его же вроде дропнули

Vladimir
21.03.2017
20:00:42
уже?
но зачем
(((

eugene
21.03.2017
20:01:05
А, для coq может нет
Но вот для isabelle точно отказались
В пользу штуки на базе jedit

Google

Vladimir
21.03.2017
20:01:36
а почему?
хмм
кстати
а есть профит использовать intero вместо ghci не в ide, а в качестве обычного repl?
я вот так и не понял
и вообще что в хаскеле с альтернативными ghci?
хотя если честно, проблемы-то и нет никакой с ghci, просто интересуюсь
(просто в других языках появляются альтернативные repl)

? animufag ?
21.03.2017
20:07:55
там вроде кроме подсветки ничего и не придумать
ну разве что мб haskellDo но это не консолька

Alexey
21.03.2017
20:46:24
В атоме в хаскельном наборе плагинов есть repl. Его особенность в том, что можно писать многострочные выражения. И ошибки пишет не в repl, а в отдельную панель с ошибками.

corpix
21.03.2017
20:48:32

Alexey
21.03.2017
20:49:54
Ну да. Сложно придумать особо инновационное что-то. Разве что ноутбуки типа jupyter ihaskell haskelldo...

corpix
21.03.2017
20:50:25

Alexander
21.03.2017
20:51:03
нет конечно
обычный ghci там

corpix
21.03.2017
20:51:51

Alexander
21.03.2017
20:52:29
в интеро уже возможно ghc API явно используется

corpix
21.03.2017
20:53:07
Вот, точно https://commercialhaskell.github.io/intero/
The Intero backend used by the Emacs mode is a fork of GHCi, it behaves like your old friend GHCi, but with more features.

Google

Alexander
21.03.2017
20:53:10
но ghci завязано на ghc сильно, так что если морда другая а внутренности те же. другой интерпретатор это hugs
надо посмотреть насколько там форк

Serghei
21.03.2017
21:00:46
https://repl.it/site/blog/haskell
Это прекрасно

Dmitry
22.03.2017
11:42:15
А вот какие у нас есть приемы для расширяемой интерпретации?
Т.е допустим мы должны нечто интерпретировать, пускай это даже линейный список некоторых конструкций. Как можно ухитриться сделать так, что бы элементы этого списка были не конструкторами какого-то типа, а чем-то самостоятельным, с определенными, допустим, тайпклассами. Т.е что бы можно было увеличивать количество интерпретируемых элементов. @qnikst вы что-то подобное делали для графов?

Alexander
22.03.2017
11:44:42
через экзестенциальные типы и словари

Dmitry
22.03.2017
11:45:15
т.е сериализовывать это всё будет довольно уныло, я так понимаю.

Alexander
22.03.2017
11:45:33
между чем и чем передаваться будет?
если есть single executable или грузится общий модуль то можно через static pointers

Dmitry
22.03.2017
11:46:30
допустим, single executable
но храниться выражения должны в... хранилище.
каком-то.

Artem
22.03.2017
12:11:30

Alexander
22.03.2017
13:30:08
давай без этого, если ты все еще на канале.

Alexander
22.03.2017
13:35:42

Alexander
22.03.2017
14:12:47
ок

Dmitry
22.03.2017
14:13:33
неа, пока не могу. но примерно это интерпретатор лиспа (секспов), каждая новая конструкция должна добавляться отдельно

Google

Dmitry
22.03.2017
14:14:05
fare-name wtf111
base-price usd 35
margin-rate 1.25

? animufag ?
22.03.2017
14:20:56
непонятно зачем в интерпретаторе динамические сущности.
речь ведь про хранение ast?

Dmitry
22.03.2017
14:21:33
шоб добавлять в разных модулях например
ну и просто в одном типе я и так умею

? animufag ?
22.03.2017
14:25:02

Dmitry
22.03.2017
14:25:47
хочу расширяемый интерпретатор, раньше так не делал
хотя делал, но в эрланге.

? animufag ?
22.03.2017
14:26:20

Dmitry
22.03.2017
14:26:22
но там просто свои парсер-комбинаторы были

? animufag ?
22.03.2017
14:26:29
ок понятно более менее

Dmitry
22.03.2017
14:26:33
хотя тут тоже этим кончится.

? animufag ?
22.03.2017
14:29:15
А кроме обозначенной проблемы, всё остальное ок?
например не получится ли так что придётся перекомпилировать хаскельный интерпретатор для добавления команд
или ты собираешься делать интерпретатор как что-то вроде ghci, но со своим синтаксисом? (интересно насколько сложно сделать ghci, навряд ли в хаскеле есть просто команда eval)

Dmitry
22.03.2017
14:31:10
ну,
а зачем мне eval?

? animufag ?
22.03.2017
14:33:05
ну добавить инстанс тайпкласса там, добавить ассоциируюмую с ним команду в список команд текущего интерпретатора

Dmitry
22.03.2017
14:34:05
на самом деле мне скорее интересно, кто как такое делал или может видел
что бы самому не придумывать

? animufag ?
22.03.2017
14:36:01
Ну
а хотя не. нечего написать

Google

Alexander
22.03.2017
18:15:03
еще у Олега было
про sql
щас найду
а не прям щас не найду

Anatolii
22.03.2017
19:06:40
Finally, Safely-Extensible and Efficient
Language-Integrated Query
это оно?

Alexander
22.03.2017
19:29:59
да
там близко к этому

Anatolii
22.03.2017
19:30:25
но там же на Ocaml
http://okmij.org/ftp/meta-programming/quel.pdf