- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
expand_ipv6(Addr) ->
AbbrevAddr = case string:str(Addr, "::") of
0 -> Addr;
_ ->
RemainBlocks = 8 - length(string:tokens(Addr, ":")),
re:replace(Addr,"::",string:copies(":0", RemainBlocks) ++ ":", [{return,list}])
end,
lists:foldl(fun(Block, Acc) ->
Start = case Acc of
[] -> "";
_ -> ":"
end,
RemainZeroes = 4 - length(Block),
ExpandedBlock = Start ++ string:copies("0", RemainZeroes) ++ Block,
Acc ++ ExpandedBlock
end, [], string:tokens(AbbrevAddr, ":")).
CHayT 18.11.2016 17:15 # −1
proctologist 18.11.2016 17:30 # −3
date("d.m.Y");
guest 18.11.2016 17:31 # −1
bot 19.11.2016 00:09 # 0
wvxvw 20.11.2016 17:08 # −2
huesto 20.11.2016 17:13 # −1
CHayT 20.11.2016 19:40 # −1
Там от пролога только куски синтаксиса. Иррелевантные в принципе.
wvxvw 20.11.2016 19:51 # −2
А еще у них стрелочки в неправильную сторону.
CHayT 20.11.2016 19:55 # −3
Ну и вообще, пруфы в тред, где Армстронг говорил, что он копировал что-то с пролога.
roman-kashitsyn 20.11.2016 22:38 # +2
Siebel> What languages influenced the design of Erlang?
Armstrong> Prolog. Well, it grew out of Prolog, obviously.
Siebel> There's not a lot of Prolog discernible in it today.
Armstrong> Well, unification--pattern matching, that comes directly from Prolog. And the kind of data structures. Tuples and lists have slightly different syntax in Prolog, but they're there.
-- Peter Siebel, Coders at Work
j123123 21.11.2016 01:43 # +2
Joe Armstrong, создатель Erlang, даёт рецепт бутстрапа:
So then Mike did the virtual machine in C and I did the compiler in Prolog. Then the compiler compiled itself and produced byte-code and you put it in the machine and then we changed the grammar and the syntax and compiled the compiler in itself and came out with an image that would bootstrap and then we’re flying. We’ve lost our Prolog roots and we’re now a language.
перевод:
И тогда Майк сделал виртуальную машину на C, а я написал компилятор на Прологе. Затем компилятор скомпилировал самого себя и получился байт-код, который мы запустили в машину, а затем мы изменили грамматику и синтаксис и снова скомпилировали компилятор самим собой, и получился образ, который бутстрапился, короче мы взлетели. Забыли свои прологовские корни и сделали новый язык.
CHayT 21.11.2016 18:48 # +1
wvxvw 23.11.2016 17:05 # 0
CHayT 23.11.2016 18:32 # +3
wvxvw 23.11.2016 19:40 # 0
То, каким способом в Прологе осуществляется вычисление ортогонально причине почему это вычисление осуществляется.
Если FSM = finite state machine, то Пролог больше Эрланга для этого подходит например потому, что в нем можно постепенно инстанциировать данные и таким образом хранить / дорабатывать состояние вычисления.
Про подробности телефонии мне ничего не известно, но не вижу причин по которым язык типа Эрланга имел бы преимущество перед языком типа Пролога.
Все, что я вижу в Эрланге - попытка кастрировать нормальный язык, чтобы, пацанам проще было. А получилось как всегда: куча синтаксического мусора, хуже выразительность и отсутствие перспектив в развитии языка. Типичная история успешных современных языков.
CHayT 23.11.2016 20:12 # +3
> нем можно постепенно инстанциировать данные и таким образом хранить / дорабатывать состояние вычисления.
Зачем это делать, если этого можно не делать? Зачем "постепенно инстанциировать и дорабатывать" состояние TCP соединения, условно говоря?
> куча синтаксического мусора, хуже выразительность
Эрланг это не про синтаксис и выразительность, которые там говно. Он про BEAM VM, которую файн-тюнят под конкретную предметную область десятилетия уже.
> Про подробности телефонии мне ничего не известно
Ну в этом никто не сомневался.
CHayT 23.11.2016 20:17 # +2
Ну это вообще телевизор с электронно-лучевой пушкой.
barop 24.11.2016 01:36 # +2
Ну типа раньше было лучше, воздух теплее, а теперь кругом одни пидарасы и один wvxvw весь в белом сидит, и ненавидит все ЯПы в мире