Шаблон проекта VS для написания модульных тестов для .Net-расширений AutoCAD

Ранее я уже приводил пример создания общего шаблона для .NET плагина под любую версию AutoCAD не старше чем 2009-я. Аналогичный шаблон можно создать и для модульных тестов под эти плагины. В…

Шаблон проекта VS для создания .Net-расширений AutoCAD

Давно хотелось реализовать, да всё руки не доходили. На данный момент имеется некоторая вполне рабочая версия. Возможно будет проведён его некоторый рефакторинг, но сути это не изменит.Шаблон создавался для решения…

Аудит средствами Teigha

Возможность выполнять аудит программно, "родными" средствами AutoCAD .NET API, появилась в AutoCAD только начиная с версии 2015. В то же время библиотека Teigha предоставляет эту возможность уже достаточно давно.Далее пример кода:#if…

Немного о каррировании в Haskell

Читая М. Липовача "Изучай Haskell во имя добра!", я некоторое время не понимал, чем частичное применение отличается от каррирования. Потратил некоторое время на разбор данного вопроса и набросал себе "шпаргалку"…

Об именах в Haskell

Имя любого идентификатора в Haskell начинается с буквы, за которой следует ноль или более букв, цифр, символов подчёркивания _ и одинарной кавычки '. В качестве буквы рассматриваются только латинские символы…

Об отступах в коде Haskell

Отступы - они бывают разными. Два hs-файла могут совершенно одинаково визуально выглядеть в текстовом редакторе, однако один из них при этом компилироваться не будет.Как известно, отступы в коде могут выполняться…

Проблема с обновлением cabal

Проблема: попытки обновить cabal не приводят к появлению более новой версии программы.Изначально я проверил текущую версию cabal:C:UsersАндрей>cabal --versioncabal-install version 1.18.0.5using version 1.18.1.3 of the Cabal libraryЗатем отправил запрос на проверку…

Управляемая альтернатива ExplodeAllProxy и RemoveAllProxy

В данной заметке даётся ссылка на полный (т.е. без "цензуры" того или иного форума) исходный код управляемой библиотеки, реализующей функционал, аналогичный командам ExplodeAllProxy и RemoveAllProxy от Александра Ривилиса. Обозначенный исходный…

О пользе возможности частичного применения функции

Маленький пример на тему практической пользы возможности частичного применения функций.Предположим, что имеется некоторая функция, выводящая приветствие:printHello::(String->String)->String->StringprintHello f x = "Hello, " ++ f x ++ "!"Первым параметром функции указывается функция…

Замечания по новой книге Н.Н. Полещука о программировании в AutoCAD 2013-2015

Замечания и пожелания по книге Н.Н. Полещука, не пропущенные цензурой Autodesk, я буду опубликовывать в этом блоге. То, что цензура пропустит, будет размещаться в соответствующей теме на форуме. Пишу замечания…