마법진 같은 프로그래밍 언어 "Mystical"

 자바나 C++, Python 같은 프로그래밍 언어에는, 영어 등 자연어를 유용한 '아포스테리오리 언어'와, 완전 오리지널 키워드만으로 만들어진 a priori 언어가 존재하는데, a priori 언어는 명령문과 작업을 일치시키면 되기 때문에 인공어처럼 자유롭게 설정할 수 있다. 오리지널 프로그래밍 언어 'Mystical'은, 문자가 아닌 마법진과 같은 도형을 명령문으로 설정했기 때문에, 소스 코드를 마법사처럼 그릴 수 있다고 한다.



Mystical의 구조는, 안쪽과 바깥쪽에 경계선을 가진 '링'을 기반으로 하고, 가장 바깥쪽의 링은 시계의 3시 위치에서 시작하여, 반시계 방향으로 흐르고, 기술된 도형에 따라 작업을 수행한다.


또, 아래와 같이 링과 링이 선으로 연결되어 있는 경우, 다른 링은 "보조 링"이라고 불리며, 아래 이미지의 경우 시작을 나타내는 삼각기호가 붙어있는 왼쪽 상단의 링에서 시작하여, 반시계방향으로 작업을 수행하고 선에서 보조링으로 옮겨 동일하게 반시계방향으로 작업을 수행.


다음은, Mystical에서 이용되는 기호의 일부.



다음은, 2개의 자연수의 최대공약수를 구하기 위한 고전적인 알고리즘 '유클리드의 GCD 알고리즘(유클리드의 호제법)'에 대해 의사코드로 기재한 것(왼쪽)과 Mystical로 기재한 소스코드(오른쪽). 이처럼 Mystical을 이용하면 소스코드에 원과 기호를 조합한 도형을 이어가게 되기 때문에, 마법사의 마법진처럼 기술할 수 있다.



Hacker News에서 Mystical이 화제가 되었을 때에는, 애니메이션 「전뇌 코일」로 아이들이 지면에 분필로 그려 전뇌 세계에 액세스 하는 「암호식」같다는 감상이 전해지고 있었다. 또한, 외계인과 대화하기 위해 독자 언어를 이해하려고 시도하는 '당신의 인생 이야기'를 영화화한 '메시지'에서는 문자를 읽는 방향 등이 없이 원을 기본으로 한 기호로, 한 문장을 표현하는 'Heptapod A/B'라는 언어가 영상화되어 있었고, Mystical을 보고 이를 상기한 사용자도 있었다.


Mystical은 GitHub에서 다운로드 할 수 있다.


https://github.com/denismm/mystical_ps

Previous
Next Post »