var source = { firstName="Jane", lastname="Jones" };
var shallow = ShallowCopyOf(source);
var deep = DeepCopyOf(source);
source.lastName = "Smith";
WriteLine(source.lastName); // prints Smith
WriteLine(shallow.lastName); // prints Smith
WriteLine(deep.lastName); // prints Jones
erlang работает на всем, для чего построен gcc. Я запускал его на mips, x86, ppc и arm. Он также работает на нескольких платформах vxworks.
Если вы посмотрите http://www.erlang.org/doc.html , вы увидите, что erlang работает на телекоммуникационных коммутаторах, которые в основном используют процессоры, отличные от x86.
. Это ответ на вопрос? На этом сайте в разделе часто задаваемых вопросов также есть инструкции для списка рассылки, откуда вы, вероятно, получите более конкретные ответы.
Надеюсь, это поможет.
Erlang is open source, so it could be pretty much ported to anything you'd care to.
Erlang не очень подходит для графических процессоров.
В Erlang есть несколько процессов, выполняющих разные задачи. Каждый процесс выполняет условное ветвление и последовательно упорядоченные действия, которые хорошо справляются с обычными процессорами.
Графические процессоры хороши в том, что многие вещи выполняют одинаковые (но независимые) операции с одним и тем же массивом данных. Многие графические процессоры даже не поддерживают ветвление. Они просто выполняли математическую операцию над точками входных данных, чтобы получить точку выхода.
Да, Erlang - это портативный C и имеет историю работы на любом оборудовании. Я продолжаю думать, что было бы забавным домашним проектом разработать какое-нибудь оборудование для FPGA, которое могло бы запускать инструкции BEAM.
Я точно знаю, что он работает на PowerPC, поскольку я использовал Erlang на своем старом iBook G4.
См. Также: Как заставить уже написанную параллельную программу работать на массиве GPU? и ВМ GPGPU: любые проекты с открытым исходным кодом для переноса виртуальных машин на графику процессоров?
Из исходного дистрибутива для R13B01, файл "README":
Erlang / OTP должна быть возможна для сборки из исходных кодов на любой Unix системы, включая Mac OS X.
Инструкции по сборке из исходных текстов в Windows находятся в файле README.win32. Бинарные выпуски для Windows можно найти на http://www.erlang.org/
В Ericsson у нас есть «Ежедневная сборка и тестирование», которое работает на:
Operating system Versions
-----------------------------------------------------------
Solaris/Sparc32 8, 9, 10
Solaris/Sparc64 10
Solaris/x86 10
Linux/Suse x86 9.4, 10.1
Linux/Suse x86_64 10.0, 10.1, 11.0
FreeBSD x86 7.1
Mac OS X/Intel 10.4.11 (Tiger), 10.5.6 (Leopard)
Windows XP SP3, 2003, Vista