Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Recognizing regular patterns in mixed type sequences using Symbolic Finite Automata (by Jim Newton)

Автор: London Clojurians

Загружено: 2025-06-26

Просмотров: 543

Описание:

The London Clojurians are happy to present:

~~~~ reClojure 2025 ~~~

Title: Recognizing regular patterns in mixed-type sequences using Symbolic Finite Automata
Speaker: Jim Newton

Run-time type-based reflection is a powerful tool which is used to solve certain problems which are out of reach to purely statically typed programming languages. The JVM-based implementation Clojure allows a running program to make certain type-based decisions which cannot be made at compile time. Notably, type predicates and dynamic method dispatch allow the running Clojure program to make run-time decisions based on characteristics of input data, the type of which cannot be known at compile time.

In this expose, we present yet another kind of run-time based type decision which allows us to arbitrate among various regular patterns in otherwise untyped data. We call these patterns RTEs (regular type expressions).

Clojure programs often manipulate sequences of mixed typed elements. We would additionally like to specify sequences of heterogeneous but regular types.

We assume the audience to already be familiar with string-based regular expressions (REs). REs are used to distinguish strings which follow a regular pattern such as `$a(a|b)^*b$`, the set of strings beginning with the character a, ending with b, and with zero or more a or b (or both) characters falling in between. We generalize this familiar concept to define expressions which specify a sequence beginning with an integer, ending with a string, and with zero or more integers or strings (or both) falling in between.

The implementation of Regular Type Expressions (RTEs) in Clojure involved several challenges.

Embed a Simple type system (SETS) into Clojure’s run-time — adding intersection, union, and complement types, as well an singleton and predicate types.
Define an s-expression syntax for defining regular-type-expression in terms of types, including intersections, unions, and complements.
Construct deterministic finite automata, DFAs, from the regular type expressions. This library manipulates DFAs with operations such as minimize, intersection, union, xor, and extract-rte.
There are many theoretical questions which investigate the limitations of the generalization from classical character based regular expressions to regular type expressions. Some of these concerns include habitation and vacuity checks (given an RTE, can we determine whether all or no sequence will match). Given two types designators determine whether one is a subtype of the other, and whether either is empty. Subtype determination is important for guaranteeing that finite automata be deterministic. Unfortunately, the subtype relation cannot always be determined (for several interesting theoretical reasons). We present a clever procedure for DFA construction which is guaranteed to be deterministic, even when the subtype relation cannot be determined.

This project is part of a larger scoped multi-language project including implementsion in Clojure, Scala, Python, and Common Lisp. The fundamental theoretical introduction was given in the PhD thesis: Representing and computing with types in dynamically typed languages.

The library is publically available at: https://github.com/jimka2001/clojure-rte.

Speaker Bio:

Jim Newton is an assistant research professor at EPITA, Kremlin Becetre, FRANCE, where he occasionally teaches courses in functional programming using Clojure and Scala. Jim has been a Lisp programmer since 1988, and has used various lisp dialects such as Common Lisp, SKILL++ (a Scheme dialect), elisp, and most recently, Clojure.


Thank you to our sponsors:

https://juxt.pro/
https://flexiana.com/
https://freshcodeit.com/
https://nubank.com.br/

Recognizing regular patterns in mixed type sequences using Symbolic Finite Automata (by Jim Newton)

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Simple ideas with huge impact from Clojure and Rama (by Nathan Marz)

Simple ideas with huge impact from Clojure and Rama (by Nathan Marz)

UI, Pure and Simple (by Christian Johansen)

UI, Pure and Simple (by Christian Johansen)

'Godfather of AI' warns of existential risks | GZERO World with Ian Bremmer

'Godfather of AI' warns of existential risks | GZERO World with Ian Bremmer

Стек Гайвань (Арне Брассер)

Стек Гайвань (Арне Брассер)

Functional Programming & Haskell - Computerphile

Functional Programming & Haskell - Computerphile

ТРИГОНОМЕТРИЯ будет УЖАС! Этот ПРИЕМ тебя спасет на ЕГЭ 2026!

ТРИГОНОМЕТРИЯ будет УЖАС! Этот ПРИЕМ тебя спасет на ЕГЭ 2026!

Вы просыпаетесь в 3 часа ночи? Вашему телу нужна помощь! Почему об этом не говорят?

Вы просыпаетесь в 3 часа ночи? Вашему телу нужна помощь! Почему об этом не говорят?

🤷 AI обучен на говнокоде! Разработчиков компиляторов, протоколов и СУБД не хватает, а LLM не может

🤷 AI обучен на говнокоде! Разработчиков компиляторов, протоколов и СУБД не хватает, а LLM не может

Pattern Matching in Java: Better Code, Better APIs

Pattern Matching in Java: Better Code, Better APIs

Wolframite:  Bring computational intelligence to Clojure (by Jakub Holý and Thomas Clark)

Wolframite: Bring computational intelligence to Clojure (by Jakub Holý and Thomas Clark)

Creating Your Own Programming Language - Computerphile

Creating Your Own Programming Language - Computerphile

China Decode: What China’s MASSIVE Trade Surplus Really Means

China Decode: What China’s MASSIVE Trade Surplus Really Means

1. Introduction, Finite Automata, Regular Expressions

1. Introduction, Finite Automata, Regular Expressions

Галлямов про встречу Путина и Уиткоффа, повышение налогов и кейс Долиной🎙️Честное слово с Галлямовым

Галлямов про встречу Путина и Уиткоффа, повышение налогов и кейс Долиной🎙️Честное слово с Галлямовым

C++ Reflection Is Not Contemplation - Andrei Alexandrescu - CppCon 2024

C++ Reflection Is Not Contemplation - Andrei Alexandrescu - CppCon 2024

Czas na wywrócenie stolika w Europie? “Zdławiliśmy potencjał europejski”

Czas na wywrócenie stolika w Europie? “Zdławiliśmy potencjał europejski”

Dzisiaj Informacje Telewizja Republika 11.12.2025 | TV Republika

Dzisiaj Informacje Telewizja Republika 11.12.2025 | TV Republika

„Ameryka nas nie obroni. Polska musi przygotować się sama.” - Jacek Bartosiak | ŻEBY WIEDZIEĆ #8

„Ameryka nas nie obroni. Polska musi przygotować się sama.” - Jacek Bartosiak | ŻEBY WIEDZIEĆ #8

15 Python Libraries You Should Know About

15 Python Libraries You Should Know About

⚡️АСЛАНЯН: СРОЧНО! ИТОГИ переговоров. Зеленского УБЕЖДАЮТ отказаться от Донбасса. ВЫБОРЫ в Украине

⚡️АСЛАНЯН: СРОЧНО! ИТОГИ переговоров. Зеленского УБЕЖДАЮТ отказаться от Донбасса. ВЫБОРЫ в Украине

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]