Enviar búsqueda
Cargar
Writing DSL in Clojure
•
8 recomendaciones
•
6,539 vistas
Misha Kozik
Seguir
clojure, dsl, tree, programming
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 24
Descargar ahora
Descargar para leer sin conexión
Recomendados
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
レッドハット サテライト Red Hat Satellite (Japanese)
レッドハット サテライト Red Hat Satellite (Japanese)
Katsutoshi Kojima
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
Makoto Yui
Best Practices for Oracle Exadata and the Oracle Optimizer
Best Practices for Oracle Exadata and the Oracle Optimizer
Edgar Alejandro Villegas
Java logging
Java logging
Jumping Bean
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
Recomendados
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
レッドハット サテライト Red Hat Satellite (Japanese)
レッドハット サテライト Red Hat Satellite (Japanese)
Katsutoshi Kojima
How to build massive service for advance
How to build massive service for advance
DaeMyung Kang
並列データベースシステムの概念と原理
並列データベースシステムの概念と原理
Makoto Yui
Best Practices for Oracle Exadata and the Oracle Optimizer
Best Practices for Oracle Exadata and the Oracle Optimizer
Edgar Alejandro Villegas
Java logging
Java logging
Jumping Bean
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
NoSQLmatters
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
I Goo Lee
MyRocks Deep Dive
MyRocks Deep Dive
Yoshinori Matsunobu
LINE LIVE のチャットが 30,000+/min のコメント投稿を捌くようになるまで
LINE LIVE のチャットが 30,000+/min のコメント投稿を捌くようになるまで
LINE Corporation
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
Shinya Sugiyama
binary log と 2PC と Group Commit
binary log と 2PC と Group Commit
Takanori Sejima
MariaDB Other Features
MariaDB Other Features
JongJin Lee
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
Chihiro Ito
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
Introduction to memcached
Introduction to memcached
Jurriaan Persyn
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
mumrah
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
Actor Model Akka Framework
Actor Model Akka Framework
Harinath Krishnamoorthy
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Guido Schmutz
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
オラクルエンジニア通信
Pgday bdr 천정대
Pgday bdr 천정대
PgDay.Seoul
DSL in Clojure
DSL in Clojure
Misha Kozik
Clojure for Java developers
Clojure for Java developers
John Stevenson
Más contenido relacionado
La actualidad más candente
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
NoSQLmatters
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
I Goo Lee
MyRocks Deep Dive
MyRocks Deep Dive
Yoshinori Matsunobu
LINE LIVE のチャットが 30,000+/min のコメント投稿を捌くようになるまで
LINE LIVE のチャットが 30,000+/min のコメント投稿を捌くようになるまで
LINE Corporation
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
Shinya Sugiyama
binary log と 2PC と Group Commit
binary log と 2PC と Group Commit
Takanori Sejima
MariaDB Other Features
MariaDB Other Features
JongJin Lee
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
Chihiro Ito
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
Introduction to memcached
Introduction to memcached
Jurriaan Persyn
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
mumrah
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
Actor Model Akka Framework
Actor Model Akka Framework
Harinath Krishnamoorthy
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Guido Schmutz
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
オラクルエンジニア通信
Pgday bdr 천정대
Pgday bdr 천정대
PgDay.Seoul
La actualidad más candente
(20)
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
MyRocks Deep Dive
MyRocks Deep Dive
LINE LIVE のチャットが 30,000+/min のコメント投稿を捌くようになるまで
LINE LIVE のチャットが 30,000+/min のコメント投稿を捌くようになるまで
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
binary log と 2PC と Group Commit
binary log と 2PC と Group Commit
MariaDB Other Features
MariaDB Other Features
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Introduction to memcached
Introduction to memcached
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
Actor Model Akka Framework
Actor Model Akka Framework
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#1
Pgday bdr 천정대
Pgday bdr 천정대
Destacado
DSL in Clojure
DSL in Clojure
Misha Kozik
Clojure for Java developers
Clojure for Java developers
John Stevenson
Clojure: an overview
Clojure: an overview
Larry Diehl
lightweight SOA with web widgets
lightweight SOA with web widgets
Phil Calçado
Clojure, Web and Luminus
Clojure, Web and Luminus
Edward Tsech
Reactive Machine Learning and Functional Programming
Reactive Machine Learning and Functional Programming
Jeff Smith
ETL in Clojure
ETL in Clojure
Dmitriy Morozov
A Field Guide to DSL Design in Scala
A Field Guide to DSL Design in Scala
Tomer Gabel
Sentiments Improvement
Sentiments Improvement
Misha Kozik
Hammurabi
Hammurabi
Mario Fusco
3 years with Clojure
3 years with Clojure
Michael Klishin
Clojure: The Art of Abstraction
Clojure: The Art of Abstraction
Alex Miller
Getting started with Clojure
Getting started with Clojure
John Stevenson
Domain-Specific Languages
Domain-Specific Languages
Javier Canovas
동시성 프로그래밍 하기 좋은 Clojure
동시성 프로그래밍 하기 좋은 Clojure
Eunmin Kim
Data science Big Data
Data science Big Data
sreekanthricky
Railway Oriented Programming
Railway Oriented Programming
Scott Wlaschin
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in Python
Siddhi
Destacado
(18)
DSL in Clojure
DSL in Clojure
Clojure for Java developers
Clojure for Java developers
Clojure: an overview
Clojure: an overview
lightweight SOA with web widgets
lightweight SOA with web widgets
Clojure, Web and Luminus
Clojure, Web and Luminus
Reactive Machine Learning and Functional Programming
Reactive Machine Learning and Functional Programming
ETL in Clojure
ETL in Clojure
A Field Guide to DSL Design in Scala
A Field Guide to DSL Design in Scala
Sentiments Improvement
Sentiments Improvement
Hammurabi
Hammurabi
3 years with Clojure
3 years with Clojure
Clojure: The Art of Abstraction
Clojure: The Art of Abstraction
Getting started with Clojure
Getting started with Clojure
Domain-Specific Languages
Domain-Specific Languages
동시성 프로그래밍 하기 좋은 Clojure
동시성 프로그래밍 하기 좋은 Clojure
Data science Big Data
Data science Big Data
Railway Oriented Programming
Railway Oriented Programming
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in Python
Último
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Alberto González Trastoy
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ICS
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ComplianceQuest1
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
ThousandEyes
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
Evangelist Apps https://twitter.com/EvangelistSW/
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
Willy Marroquin (WillyDevNET)
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
kellynguyen01
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
Clustering techniques data mining book ....
Clustering techniques data mining book ....
ShaimaaMohamedGalal
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
kalichargn70th171
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Andolasoft Inc
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
SolGuruz
DNT_Corporate presentation know about us
DNT_Corporate presentation know about us
Dynamic Netsoft
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
Arshad QA
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
MyIntelliSource, Inc.
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
AxelRicardoTrocheRiq
Último
(20)
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Clustering techniques data mining book ....
Clustering techniques data mining book ....
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
DNT_Corporate presentation know about us
DNT_Corporate presentation know about us
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
Writing DSL in Clojure
1.
DSL in Clojure Misha
Kozik @mishadoff
2.
developer domain expert
3.
Abstraction
4.
not Turing Complete
5.
DSL Example: SQL Apache
Calcite
6.
DSL Example: Hadoop
7.
DSL Example: Cascading
8.
DSL Example: Cascalog
9.
DSL Example: Hiccup
10.
DSL Example: Lein
11.
DSL Example: Regexp
12.
DSL Example: TimeUnit
13.
DSL Example: ->
14.
Demo: Binary Tree
15.
0 1 2 3 4
5 6 7 98NIL NIL NIL Demo: Binary Tree
16.
Internal DSL: Tree …well
that’s verbose…
17.
Internal DSL: Tree …from
Java with Love…
18.
Internal DSL: Tree i
-> (2i + 1, 2i + 2)
19.
Internal DSL: Tree Lisp
way
20.
Internal DSL: Tree
21.
External DSL: Tree wow,
such declarative
22.
Generative DSL: Tree
23.
Summary
24.
Questions?
Descargar ahora