Elixir का कोड BEAM वर्चुअल मशीन में चलता है। BEAM Erlang रन-टाइम सिस्टम का हिस्सा है। Elixir, Erlang से प्रेरित है और उसका रन वातावरण साझा करता है। इसलिए यह Erlang लाइब्रेरी के साथ बहुत अच्छी इंटरऑपरेबिलिटी देता है। इसका मतलब है कि Elixir डेवलपर अपने Elixir कोड के अंदर से Erlang लाइब्रेरी का उपयोग कर सकते हैं। वास्तव में, Elixir समुदाय में उस कार्यक्षमता के लिए Elixir लाइब्रेरी लिखना हतोत्साहित किया जाता है जो पहले से Erlang लाइब्रेरी में मौजूद है।
इसके परिणामस्वरूप, गणितीय संक्रियाओं या टाइमर फंक्शन जैसी कुछ कार्यक्षमता Elixir में केवल Erlang के माध्यम से ही उपलब्ध है।
Elixir और Erlang के बीच यह करीबी रिश्ता बताता है कि कुशल Elixir डेवलपर बनने के लिए आप Erlang की बुनियादी सिंटैक्स सीखने में कुछ समय लगाना चाह सकते हैं।
Erlang की स्टैंडर्ड लाइब्रेरी हमारे Elixir कोड में बिना कोई अतिरिक्त कदम उठाए इस्तेमाल की जा सकती है।
Erlang फंक्शन कॉल करने का तरीका वही है जो Elixir फंक्शन कॉल करने का है, बस एक छोटा-सा अंतर है। Erlang मॉड्यूल के नाम snake_case एटम होते हैं। उदाहरण के लिए, math मॉड्यूल से Erlang का pi/0 फंक्शन कॉल करने के लिए हम ऐसे लिखेंगे:
:math.pi()
# => 3.141592653589793
सबसे ज़्यादा इस्तेमाल होने वाले Erlang मॉड्यूल वह कार्यक्षमता देते हैं जो Elixir की स्टैंडर्ड लाइब्रेरी में नहीं है। ये हैं:
timer मॉड्यूल, जो sleep/1, send_after/2, और send_interval/2 जैसे फंक्शन देता है।rand मॉड्यूल, जो uniform/0, normal/0, और seed/2 जैसे फंक्शन देता है।:io_lib.format/2, जो C-शैली की स्ट्रिंग फॉर्मेटिंग देता है (कंट्रोल सीक्वेंस का उपयोग करके)।math मॉड्यूल, जो sin/1, cos/1, log2/1, log10/1, pow/2 जैसे गणितीय फंक्शन और भी बहुत कुछ देता है।queue मॉड्यूल, जो क्यू डेटा स्ट्रक्चर देता है।crypto मॉड्यूल, जो क्रिप्टोग्राफिक फंक्शन देता है।zip मॉड्यूल, जो ज़िप आर्काइव के साथ काम करने के लिए फंक्शन देता है।calendar मॉड्यूल, जो तारीख और समय के साथ काम करने के लिए फंक्शन देता है, जैसे iso_week_number/1। किसी Erlang फंक्शन को Date, Time, या NaiveDateTime स्ट्रक्चर पास करने के लिए, उसे संबंधित मॉड्यूल के to_erl फंक्शन की मदद से Erlang फॉर्मेट में बदलना पड़ता है।Erlang की स्टैंडर्ड लाइब्रेरी को जानने के लिए, STDLIB रेफरेंस मैनुअल देखिए।
Erlang लाइब्रेरी के साथ Elixir की इंटरऑपरेबिलिटी केवल Erlang की स्टैंडर्ड लाइब्रेरी तक सीमित नहीं है। Elixir के कोड में किसी भी Erlang लाइब्रेरी का उपयोग किया जा सकता है।