Мы склонны думать, что программное обеспечение, и особенно компиляторы, имеют дело с другим программным обеспечением, а не с реальным миром. Компилятор плотницких работ отличается — его целью действительно является дерево.
Исследователи из Вашингтонского университета создали компилятор Carpentry и представили его на выставке SIGGRAPH Asia. Идея проста для понимания. Если вы хотите сделать что — то из дерева, вы можете описать конечный результат, и компилятор Carpentry выведет инструкции о том, как вы можете это сделать-с учетом ресурсов, которые у вас есть.
«В этой статье представлен HL-HELM, высокоуровневый, специфичный для предметной области язык для выражения абстрактных, параметрических планов изготовления; он также вводит LL-HELM, язык низкого уровня для выражения конкретных планов изготовления, которые учитывают физические ограничения доступных производственных процессов. Мы представляем новый компилятор, который поддерживает неоптимизированный перевод высокоуровневых геометрических операций изготовления в реальном времени в конкретные инструкции по изготовлению конкретных инструментов; это дает пользователям немедленную обратную связь о физической осуществимости планов по мере их разработки.»
Для меня интересными особенностями являются то, как он использует широкий спектр возможных исходных материалов и сложное сочетание доступных инструментов, с помощью которых вы должны решить, как сделать объект. Он даже разрабатывает план резки, который сводит к минимуму вашу работу. Если вы поиграете с такими вещами, вы, возможно, разделите мое чувство, что это портит большую часть удовольствия. Нет ничего лучше, чем планировать, как сделать что — то, используя то, что у вас есть, — но я также вижу привлекательность автоматизации процесса, если удовольствие не является вашей единственной заботой.
Чтобы увидеть некоторые детали, посмотрите видео:
Вот некоторые из вещей, которые он смог сделать:
Вы можете точно узнать, что представляет собой каждый из них, проконсультировавшись с газетой, но я могу сказать вам, что единственный действительно сложный, Т. Е.
Когда мы думаем о том, чтобы использовать его для создания реальных вещей, мы склонны думать об использовании одной универсальной машины, такой как 3D-принтер или фрезерный станок. Идея компиляции в последовательность задач с использованием различных инструментов является обобщающей.
«Наше ключевое понимание заключается в том, что планы производства-это программы.»
Как насчет ювелирного компилятора, металлической маленькой детали, компилятора масштабной модели и так далее…