LINUX.ORG.RU

Ocaml


48

1

Всего сообщений: 14

Binary Analysis Platform 1.3

Группа Разработка

Binary Analysis Platform (BAP) — это платформа для обратной разработки и анализа программ, для которых недоступны их исходные коды. Поддерживается более 30 архитектур, в первую очередь x86, x86-64 и ARM. BAP работает путём дизассемблирования и перевода инструкций в RISC-подобный язык — BAP Instruction Language (BIL). Такой подход позволяет платформе анализировать код одинаково хорошо, независимо от архитектуры. Вместе с платформой поставляется набор инструментов, библиотек и плагинов. Основная цель платформы — предоставить инструментарий для автоматического анализа программ.

BAP написана на Ocaml, и это предпочтительный язык для написания средств анализа, но также имеются биндинги к C, Python и Rust.

Релиз 1.3 является самым большим публичным релизом платформы, который содержит много нового:

  • новый загрузчик, который работает со всеми видами бинарных файлов, в том числе модулями ядер Linux и Darwin, разделяемыми библиотеками и другими представлениями программ;
  • сокращено потребление памяти;
  • Primus — фреймворк эмуляции ЦП;
  • лучшее представление программ благодаря удалению «мёртвого кода»;
  • поддержка LLVM 4.0.

>>> Исходный код на Github

>>> Подробности

 bap, ,

olibjerd
()

Курс «Introduction to functional programming in OCaml»

Группа Конференции и встречи

Продолжается регистрация на вторую сессию курса, который стартует 26 сентября 2016 года и продлится 7 недель:

  • Week 0: Introduction and overview
  • Week 1: Basic types, definitions and functions
  • Week 2: Basic data structures
  • Week 3: More advanced data structures
  • Week 4: Higher order functions
  • Week 5: Exceptions, input/output and imperative constructs
  • Week 6: Modules and data abstraction

Язык: английский.
Предварительные требования: базовые знания основ информатики и любого языка программирования.

>>> Подробности

 ,

anonymous
()

Открыт исходный код статического анализатора Infer

Группа Open Source

Компания Facebook опубликовала исходные коды статического анализатора Infer, который используется внутри компании для выявления ошибок в исходном коде программ без их непосредственного запуска.

В настоящее время Infer умеет обнаруживать следующие проблемы в программах, написанных на C, Java и Objective-C:

  • разыменование NULL-указателей;
  • утечки памяти и ресурсов.

Исходный код Infer написан на языке OCaml и распространяется на условиях лицензии BSD.

>>> Подробности

 , ,

ymn
()

Albatross 0.1 — это язык программирования со статической верификацией

Группа Open Source

Albatross — это язык программирования со статической верификацией и средство доказательства теорем. Компилятор написан на OCaml 4.

Описание языка (PDF)

Страница загрузки

>>> Подробности

 albatross, , proof assistant,

olibjerd
()

Представлена реализация протокола Firmata на OCaml

Группа Hardware and Drivers

Leonardo Laguna Ruiz представил библиотеку на OCaml для управления платами наподобие Arduino, являющуюся реализацией протокола Firmata и распространяемую на условия лицензии GNU GPLv3.

Автор просит посодействовать ему:

  • добавить библиотеку в OPAM;
  • добавить больше примеров;
  • создать обёртку для Lwt;
  • внести предложения по улучшению.

Публичный репозиторий на Github

Подробный список типов и функций

>>> Сообщение в списке рассылки

 , firmata,

olibjerd
()

Вышла Mirage 1.0.2 — облачная ОС

Группа Open Source

Mirage — это ОС (и около 40 сопутствующих библиотек), разрабатываемая для запуска приложений непосредственно на базе супервизора XEN в облачных инфрастуктурах, таких как Amazon EC2, Rackspace (а также для использования во встраеваемых системах). Основные преимущества такого подхода (по сравнению с VM на обычных ОС) — большая эффективность, маштабируемость и безопасность в виду отсутсвия множества неиспользуемых компонентов традиционных ОС.

Создание приложений для ОС Mirage ведется на обычных операционных системах таких как Linux или Mac OS X, результат компилирутся в библиотеку-ядро, которая запускается в облаке.

Основной язык разработки приложений для Mirage и самой ОС — это OСaml (который также используется для разработки XenServer).

Разработка ведется при поддержке множества организаций: University of Cambridge, University of Nottingham, Citrix, Jane Street, OCamlPro, OCaml Labs, Amazon, Verisign, также проект получил несколько научных грантов (RCUK, EPSRC, EU FP7 and DARPA).

Mirage уже используется во внутренней инфраструктуре команды XenServer, также в XenServer используется несколько библиотек созданных в рамках Mirage.

Изменения в последней версии и сопутствующих библиотеках:

  • mirage 1.0.2: поддержка HTTP и исправления;
  • mirage-net-xen: новый пакет, реализующий Xen Netfront;
  • добавлена библиотека — mirage-tcpip-unix;
  • mirage-tcpip-xen: удален старый сетевой стек и упрощена система сборки;
  • cohttp 0.9.13, добавлена поддержка интерфейсов Mirage 1.0.

Сайт проекта


Репозиторий проекта


Описание


Описание технической части (дополнительно)


Видеопрезентация

Дополнительная информация:

  • Версия 1.0 вышла несколько дней назад.
  • В следующем документе указано, что проект имеет лицензию BSD (но в репозитории на guthub этого не упоминается).
  • Похожие проекты:
  • О выходе 1.0.2 сообщили в рассылке MirageOS-devel, на сайте информации об этом нет.

>>> Подробности

 , , , ,

strobe
()

Вышла книга «Real World OCaml»

Группа Документация

Увидела свет финальная версия книги «Real World OCaml». Этот учебник познакомит вас с инструментами и методами, с помощью которых можно эффективно решать разнообразные практические задачи.

В процессе чтения этой книги вы

  • изучите основы языка OCaml (функции высшего порядка, алгебраические типы данных и т.п.);
  • узнаете о продвинутых возможностях (функторы, первоклассные модули, объекты);
  • научитесь решать практические задачи от разбора аргументов командной строки до асинхронного сетевого программирования.

Купить бумажную или электронную копию книги «Real World OCaml» можно на Amazon.com.

Электронная версия книги, распространяемая на условиях лицензии CC-BY-ND, доступна на сайте realworldocaml.org. Для получения доступа необходим аккаунт на github.

>>> Подробности

 ,

ymn
()

Вышел OCaml-Top 1.0.0

Группа Open Source

OCaml-Top — интерактивный редактор, разработанный для новичков, изучающих язык программирования OCaml.

Этот редактор не претендует на место tuareg-mode и других плагинов, добавляющих поддержку OCaml в популярные IDE, поэтому довольно ограничен в возможностях:

  • подсветка синтаксиса;
  • автоматическое форматирование кода;
  • интуитивно понятные элементы запуска и пошагового выполнения;
  • подсветка ошибок.

На GNU/Linux и OSX OCaml-Top доступен из opam. Для операционных систем семейства Windows подготовлены бинарные пакеты.

Исходные коды OCaml-Top распространяются на условиях лицензии GPLv3.

>>> Подробности

 

ymn
()

Вышел OCaml 4

Группа Open Source

Выпущена новая мажорная версия языка программирования OCaml — современного объектно-ориентированного языка функционального программирования общего назначения.

Произошедшие изменения в языке:

  • обобщенные алгебраические типы данных — мощное расширение системы типов;
  • новый усовершенствованный ARM бекенд;
  • изменения в модулях: аннотации типов теперь могут быть пропущены при упаковке и распаковке модулей, кроме того они могут быть распакованы при паттерн-матчинге;
  • поддержка рандомизированных хеш-таблиц для устранения уязвимостей, связанных с DoS (denial of service);
  • установка внутренних библиотек компилятора производится в +compiler-libs для легкого доступа сторонними утилитами.

Подробный Changelog

>>> Релиз

 ,

x4DA
()

O'Caml 3.12.0

Группа Open Source

Сегодня вышел O'Caml 3.12.0, посвященный памяти Robin Milner.

O'caml — это современный объектно-ориентированный язык функционального программирования общего назначения.

Изменений много, как в самом языке, так и в компиляторе и в библиотеке. Ocamlbuild научился динамической линковке, и появился ocamlobjinfo.

Более подробные изменения и перечень исправлений доступны в анонсе.

>>> Анонс

 

catap
()

Как оптимизировали программу на Ocaml

Группа Документация

По ссылке приведены примеры программ с соревнований на ICFPC'09 (кстати, самим по себе интересными тем, что участники соревновались в управлении космическими аппаратами) которые демонстрируют как оптимизационные возможности, свойственные функциональным языкам (в частности хвостовая рекурсия), позволяют написанной на нём программе-интерпретатору некоего языка управления двигателем космического аппарата обогнать по скорости работы аналогичную на C/C++.

>>> Подробности

 , , ,

anonymous_incognito
()

Вышел Ocaml 3.11

Группа Open Source

Тихо и незаметно вышел Ocaml 3.11. Несмотря на нумерацию релиз значимый. Изменения затронули компилятор, библиотеки и функции языка.
Некоторые главные изменения:

  • библиотека Dynlink тепрь доступна в нативных кодах для нескольких платформ.
  • поддержка ocamldebug в Windows.
  • портирован на Mac OS X/Intel в 64-битном режиме.
Полный список изменений в подробностях.

>>> Подробности

 ,

cab
()

Вышла новая версия LFS

Группа Open Source

LFS --- Logic file system. Файловая система, написанная на OCaml. LFS предоставляет простой язык запросов для навигации по файловой системе.

Для примера:

$ cd /lfs/ext:mp3|ext:ogg/year:1973/genre:Di sco/

$ ls
artist:BeeGees/ artist:DonnaSummer/ artist:Chic/ ...

$ cd /lfs/ext:ml|ext:mli/.ext

$ ls
list.ml list.mli array.ml array.mli ...

Для работы используется fuse (и ocamlfuse), распространяется под GPL v2

>>> Quic k install guide

>>> Tutorial

>>> Подробности

 ,

Rastafarra
()

Вышел Ocsigen 1.0

Группа Open Source

Ocsigen -- исследовательский проект, написанный на OCaml, направленный на разработку новых техник программирования для web. Содержит полноценный web-сервер и фреймворк (Eliom) для создания динамических сайтов.

>>> Подробности

 , ,

Rastafarra
()