Size: a a a

2020 September 28

in ErlangRus
источник

in ErlangRus
принтер готов :)
источник

in ErlangRus
оно потом еще хочет что бы там были условия и переменные
источник

in ErlangRus
а это только начало изучения :(
источник

AB

Alex Bubnov in ErlangRus
инфиксная запись, омерзительно
источник

in ErlangRus
"инфиксная" это как?
источник

AB

Alex Bubnov in ErlangRus
"инфиксная" это как?
left OP right
префиксная OP left right
постфиксная left right OP
источник

AB

Alex Bubnov in ErlangRus
префиксная - лисп, постфиксная - форт
источник

in ErlangRus
выходит в кортежах префиксная
источник

in ErlangRus
я без понятия как парсить строку :)
источник

ML

Maksim Lapshin in ErlangRus
Alex Bubnov
мне кажется, в этом контексте lazy и short-circuiting - синонимы.
про невалидный boolean - да, важный нюанс.
ну тут как бы даже другое.

andalso — это имплицитные игрища с управлением кодом и на самом деле спрятанный блок кода:

-module(a).

-export([f/1, g/1]).

f(F) ->
 F and error(err).

g(G) ->
 G andalso error(err).


1> c(a).
{ok,a}
2> a:f(false).
** exception error: err
    in function  a:f/1 (a.erl, line 6)
3> a:g(false).
false


т.е. andalso может лениво отказаться от вычисления продолжения.

Тем самым его удобно использовать для всякой гадости типа:

...
is_integer(X) orelse throw({not_integer,X}),
...
источник

AB

Alex Bubnov in ErlangRus
я без понятия как парсить строку :)
ну, я бы начал вспоминать с https://en.wikipedia.org/wiki/Parsing_expression_grammar
источник

AB

Alex Bubnov in ErlangRus
peg на эрланговых паттернах пишется проще всего, наверное
источник

AB

Alex Bubnov in ErlangRus
если хочется тяжелой артиллерии - можно взять leex+yecc, стандартная пара лексер-парсер.
источник

in ErlangRus
теперь умеет считать
источник

ИИ

Иванов Иванов... in ErlangRus
Alex Bubnov
если хочется тяжелой артиллерии - можно взять leex+yecc, стандартная пара лексер-парсер.
зачем? только запутается же
источник

AB

Alex Bubnov in ErlangRus
компиляция в стековую машину - вроде обход дерева в глубину, depth-first traversal.
симулятор - обычный fold по результату компиляции.
источник

AB

Alex Bubnov in ErlangRus
Иванов Иванов
зачем? только запутается же
а вдруг наоборот понравится.
впрочем да, peg реально проще.
источник

in ErlangRus
25 числа начал изучение Erlang :)
источник

ИИ

Иванов Иванов... in ErlangRus
я без понятия как парсить строку :)
погугли парсинг выражений наверно
источник