Enviar búsqueda
Cargar
Dutch hug
•
0 recomendaciones
•
247 vistas
G
guest51f8ea
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 29
Descargar ahora
Descargar para leer sin conexión
Recomendados
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Dynamically Composing Collection Operations through Collection Promises
Dynamically Composing Collection Operations through Collection Promises
Marcus Denker
Advanced Reflection in Pharo
Advanced Reflection in Pharo
Marcus Denker
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Variables in Pharo5
Variables in Pharo5
Marcus Denker
Simple ETL in python 3.5+ with Bonobo - PyParis 2017
Simple ETL in python 3.5+ with Bonobo - PyParis 2017
Romain Dorgueil
Sheffield_R_ July meeting - Interacting with R - IDEs, Git and workflow
Sheffield_R_ July meeting - Interacting with R - IDEs, Git and workflow
Paul Richards
Intro to Ruby on Rails
Intro to Ruby on Rails
elpizoch
Recomendados
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Dynamically Composing Collection Operations through Collection Promises
Dynamically Composing Collection Operations through Collection Promises
Marcus Denker
Advanced Reflection in Pharo
Advanced Reflection in Pharo
Marcus Denker
Reflection in Pharo: Beyond Smalltak
Reflection in Pharo: Beyond Smalltak
Marcus Denker
Variables in Pharo5
Variables in Pharo5
Marcus Denker
Simple ETL in python 3.5+ with Bonobo - PyParis 2017
Simple ETL in python 3.5+ with Bonobo - PyParis 2017
Romain Dorgueil
Sheffield_R_ July meeting - Interacting with R - IDEs, Git and workflow
Sheffield_R_ July meeting - Interacting with R - IDEs, Git and workflow
Paul Richards
Intro to Ruby on Rails
Intro to Ruby on Rails
elpizoch
Nodejs vs php_apache
Nodejs vs php_apache
Vodafone developer
Oracle's ListAgg Function & Pertinent Use
Oracle's ListAgg Function & Pertinent Use
Bryan L. Mack
Reflection in Pharo5
Reflection in Pharo5
Marcus Denker
Adding A Dash In jQuery:
Adding A Dash In jQuery:
Reema
C# Basic - Lec1 (Workshop on C# Programming: Learn to Build)
C# Basic - Lec1 (Workshop on C# Programming: Learn to Build)
Jannat Ruma
Data Type C# - Lec2 (Workshop on C# Programming: Learn to Build)
Data Type C# - Lec2 (Workshop on C# Programming: Learn to Build)
Jannat Ruma
Introduction to Elm
Introduction to Elm
Rogerio Chaves
Type Casting C# - Lec4 (Workshop on C# Programming: Learn to Build)
Type Casting C# - Lec4 (Workshop on C# Programming: Learn to Build)
Jannat Ruma
#Pharo Days 2016 Reflectivity
#Pharo Days 2016 Reflectivity
Philippe Back
Elm @ DublinJS
Elm @ DublinJS
Michael Twomey
Presentation on functional data mining at the IGT Cloud meet up at eBay Netanya
Presentation on functional data mining at the IGT Cloud meet up at eBay Netanya
Christopher Severs
MongoDB Aggregation MongoSF May 2011
MongoDB Aggregation MongoSF May 2011
Chris Westin
Callable and runnable objects in ruby
Callable and runnable objects in ruby
Rahul Bajaj
Automation in ArcGIS using Arcpy
Automation in ArcGIS using Arcpy
Geodata AS
Redis Developers Day 2015 - Secondary Indexes and State of Lua
Redis Developers Day 2015 - Secondary Indexes and State of Lua
Itamar Haber
Network programming1
Network programming1
Soham Sengupta
3 Презентация Kotlin - why not?
3 Презентация Kotlin - why not?
STEP Computer Academy (Zaporozhye)
Python Programming for ArcGIS: Part I
Python Programming for ArcGIS: Part I
DUSPviz
Roslyn
Roslyn
Tomas Jansson
R Data Analysis/Rを使った人事データ分析入門
R Data Analysis/Rを使った人事データ分析入門
Takanori Omote
Lizard thein sein
Lizard thein sein
yadana8888
Small group presentation
Small group presentation
VOX Church
Más contenido relacionado
La actualidad más candente
Nodejs vs php_apache
Nodejs vs php_apache
Vodafone developer
Oracle's ListAgg Function & Pertinent Use
Oracle's ListAgg Function & Pertinent Use
Bryan L. Mack
Reflection in Pharo5
Reflection in Pharo5
Marcus Denker
Adding A Dash In jQuery:
Adding A Dash In jQuery:
Reema
C# Basic - Lec1 (Workshop on C# Programming: Learn to Build)
C# Basic - Lec1 (Workshop on C# Programming: Learn to Build)
Jannat Ruma
Data Type C# - Lec2 (Workshop on C# Programming: Learn to Build)
Data Type C# - Lec2 (Workshop on C# Programming: Learn to Build)
Jannat Ruma
Introduction to Elm
Introduction to Elm
Rogerio Chaves
Type Casting C# - Lec4 (Workshop on C# Programming: Learn to Build)
Type Casting C# - Lec4 (Workshop on C# Programming: Learn to Build)
Jannat Ruma
#Pharo Days 2016 Reflectivity
#Pharo Days 2016 Reflectivity
Philippe Back
Elm @ DublinJS
Elm @ DublinJS
Michael Twomey
Presentation on functional data mining at the IGT Cloud meet up at eBay Netanya
Presentation on functional data mining at the IGT Cloud meet up at eBay Netanya
Christopher Severs
MongoDB Aggregation MongoSF May 2011
MongoDB Aggregation MongoSF May 2011
Chris Westin
Callable and runnable objects in ruby
Callable and runnable objects in ruby
Rahul Bajaj
Automation in ArcGIS using Arcpy
Automation in ArcGIS using Arcpy
Geodata AS
Redis Developers Day 2015 - Secondary Indexes and State of Lua
Redis Developers Day 2015 - Secondary Indexes and State of Lua
Itamar Haber
Network programming1
Network programming1
Soham Sengupta
3 Презентация Kotlin - why not?
3 Презентация Kotlin - why not?
STEP Computer Academy (Zaporozhye)
Python Programming for ArcGIS: Part I
Python Programming for ArcGIS: Part I
DUSPviz
Roslyn
Roslyn
Tomas Jansson
R Data Analysis/Rを使った人事データ分析入門
R Data Analysis/Rを使った人事データ分析入門
Takanori Omote
La actualidad más candente
(20)
Nodejs vs php_apache
Nodejs vs php_apache
Oracle's ListAgg Function & Pertinent Use
Oracle's ListAgg Function & Pertinent Use
Reflection in Pharo5
Reflection in Pharo5
Adding A Dash In jQuery:
Adding A Dash In jQuery:
C# Basic - Lec1 (Workshop on C# Programming: Learn to Build)
C# Basic - Lec1 (Workshop on C# Programming: Learn to Build)
Data Type C# - Lec2 (Workshop on C# Programming: Learn to Build)
Data Type C# - Lec2 (Workshop on C# Programming: Learn to Build)
Introduction to Elm
Introduction to Elm
Type Casting C# - Lec4 (Workshop on C# Programming: Learn to Build)
Type Casting C# - Lec4 (Workshop on C# Programming: Learn to Build)
#Pharo Days 2016 Reflectivity
#Pharo Days 2016 Reflectivity
Elm @ DublinJS
Elm @ DublinJS
Presentation on functional data mining at the IGT Cloud meet up at eBay Netanya
Presentation on functional data mining at the IGT Cloud meet up at eBay Netanya
MongoDB Aggregation MongoSF May 2011
MongoDB Aggregation MongoSF May 2011
Callable and runnable objects in ruby
Callable and runnable objects in ruby
Automation in ArcGIS using Arcpy
Automation in ArcGIS using Arcpy
Redis Developers Day 2015 - Secondary Indexes and State of Lua
Redis Developers Day 2015 - Secondary Indexes and State of Lua
Network programming1
Network programming1
3 Презентация Kotlin - why not?
3 Презентация Kotlin - why not?
Python Programming for ArcGIS: Part I
Python Programming for ArcGIS: Part I
Roslyn
Roslyn
R Data Analysis/Rを使った人事データ分析入門
R Data Analysis/Rを使った人事データ分析入門
Destacado
Lizard thein sein
Lizard thein sein
yadana8888
Small group presentation
Small group presentation
VOX Church
2010 Symposium - Monday - Retai
2010 Symposium - Monday - Retai
SOCAP
What is Scrum
What is Scrum
Chris Shayan
Touch&play framework
Touch&play framework
CSP Scarl
Marketing On The Internet
Marketing On The Internet
Jeremy Schneider
Storie dal futuro: persone e cose sempre connesse
Storie dal futuro: persone e cose sempre connesse
CSP Scarl
What is Lean Startup?
What is Lean Startup?
Chris Shayan
how VietnamWorks works
how VietnamWorks works
Chris Shayan
CV Somendra Nov 2016 external
CV Somendra Nov 2016 external
SOMENDRA06
Technical Instructions
Technical Instructions
EKMom
Independent Presentation Final Sb (2)
Independent Presentation Final Sb (2)
Independent Ltd
D:\Ring O 2nd Grade
D:\Ring O 2nd Grade
guest5ac3f31
Dasar html
Dasar html
Reno Bastian Syah
Requisitos oo-para-projetos-oo-transicao-facil
Requisitos oo-para-projetos-oo-transicao-facil
Sandra Rocha
C re ate-cirma-def-060611
C re ate-cirma-def-060611
CSP Scarl
Red leaves profile
Red leaves profile
Red Leaves Solution Sdn Bhd
3 5massvacation
3 5massvacation
hollister69
Escher
Escher
Giselle Goicovic
MyFriendsTreeII
MyFriendsTreeII
Eric Esquivel
Destacado
(20)
Lizard thein sein
Lizard thein sein
Small group presentation
Small group presentation
2010 Symposium - Monday - Retai
2010 Symposium - Monday - Retai
What is Scrum
What is Scrum
Touch&play framework
Touch&play framework
Marketing On The Internet
Marketing On The Internet
Storie dal futuro: persone e cose sempre connesse
Storie dal futuro: persone e cose sempre connesse
What is Lean Startup?
What is Lean Startup?
how VietnamWorks works
how VietnamWorks works
CV Somendra Nov 2016 external
CV Somendra Nov 2016 external
Technical Instructions
Technical Instructions
Independent Presentation Final Sb (2)
Independent Presentation Final Sb (2)
D:\Ring O 2nd Grade
D:\Ring O 2nd Grade
Dasar html
Dasar html
Requisitos oo-para-projetos-oo-transicao-facil
Requisitos oo-para-projetos-oo-transicao-facil
C re ate-cirma-def-060611
C re ate-cirma-def-060611
Red leaves profile
Red leaves profile
3 5massvacation
3 5massvacation
Escher
Escher
MyFriendsTreeII
MyFriendsTreeII
Similar a Dutch hug
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
apidays
The program reads data from two files, itemsList-0x.txt and .docx
The program reads data from two files, itemsList-0x.txt and .docx
oscars29
Smalltalk in a .NET World
Smalltalk in a .NET World
ESUG
Killing the Angle Bracket
Killing the Angle Bracket
jnewmanux
Ejb3 Struts Tutorial En
Ejb3 Struts Tutorial En
Ankur Dongre
Ejb3 Struts Tutorial En
Ejb3 Struts Tutorial En
Ankur Dongre
Intro to mobile web application development
Intro to mobile web application development
zonathen
PPT
PPT
webhostingguy
Practical catalyst
Practical catalyst
dwm042
Ant tutorial
Ant tutorial
Ratnesh Kumar Singh
Java ant tutorial
Java ant tutorial
Ashoka Vanjare
ABRIDGED VERSION - Joys & frustrations of putting 34,000 lines of Haskell in...
ABRIDGED VERSION - Joys & frustrations of putting 34,000 lines of Haskell in...
Saurabh Nanda
Echtzeitapplikationen mit Elixir und GraphQL
Echtzeitapplikationen mit Elixir und GraphQL
Moritz Flucht
WEB DEVELOPMENT
WEB DEVELOPMENT
Gourav Kaushik
Exploring SharePoint with F#
Exploring SharePoint with F#
Talbott Crowell
HTML literals, the JSX of the platform
HTML literals, the JSX of the platform
Kenneth Rohde Christiansen
A Life of breakpoint
A Life of breakpoint
Hajime Morrita
Internet Programming
Internet Programming
FkdiMl
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
bobmcwhirter
Bootcamp - Web Development Session 2
Bootcamp - Web Development Session 2
GDSCUniversitasMatan
Similar a Dutch hug
(20)
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
The program reads data from two files, itemsList-0x.txt and .docx
The program reads data from two files, itemsList-0x.txt and .docx
Smalltalk in a .NET World
Smalltalk in a .NET World
Killing the Angle Bracket
Killing the Angle Bracket
Ejb3 Struts Tutorial En
Ejb3 Struts Tutorial En
Ejb3 Struts Tutorial En
Ejb3 Struts Tutorial En
Intro to mobile web application development
Intro to mobile web application development
PPT
PPT
Practical catalyst
Practical catalyst
Ant tutorial
Ant tutorial
Java ant tutorial
Java ant tutorial
ABRIDGED VERSION - Joys & frustrations of putting 34,000 lines of Haskell in...
ABRIDGED VERSION - Joys & frustrations of putting 34,000 lines of Haskell in...
Echtzeitapplikationen mit Elixir und GraphQL
Echtzeitapplikationen mit Elixir und GraphQL
WEB DEVELOPMENT
WEB DEVELOPMENT
Exploring SharePoint with F#
Exploring SharePoint with F#
HTML literals, the JSX of the platform
HTML literals, the JSX of the platform
A Life of breakpoint
A Life of breakpoint
Internet Programming
Internet Programming
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
Bootcamp - Web Development Session 2
Bootcamp - Web Development Session 2
Dutch hug
1.
BlazeHtml Design of a
blazingly fast html combinator library
2.
Hello! My name is
jasper Studying BSc CS @ UGent I like to make things @jaspervdj jaspervdj.be
3.
Introduction A web app
usually has 3 important layers: web application server data storage layer html generation layer
4.
5.
Trees in Haskell >
data Tree > = Node Tree Tree > | Empty
6.
Html is a
tree This makes writing an Html generation library trivial in Haskell.
7.
Le't write a
library! > type Attribute = > (String, String) > type Tag = String
8.
Le't write a
library! > data Html > = Node Tag [Attribute] > Html > | Leaf Tag [Attribute] > | Concat [Html] > | Text String > deriving (Show)
9.
10.
Hackage quick look
html xhtml xhtmlcombinators moe xhtml1
11.
12.
13.
s/String/Data.Text/g A first
good step
14.
s/String/Data.Text/g A first
good step text1 `append` text2
15.
s/String/Data.Text/g A first
good step text1 `append` text2 BAD BAD BAD
16.
No inspiration? Just shamelessly
steal ideas from other Haskell projects.
17.
18.
Builder Monoid
19.
3layer approach
20.
21.
22.
Builder Fork fromText ::
Text -> Builder fromEscapedText :: Text -> Builder fromShow :: Show a => a -> Builder fromRawAscii7Char :: Char -> Builder
23.
Builder Fork Additional function: >
fromUnsafeWrite > :: Int > -> (Ptr Word8 > -> IO ()) > -> Builder
24.
Benchmarks
25.
Benchmarks
26.
Benchmarks
27.
Benchmarks
28.
The future Lots still
to do until we have a stable, fast, awesome version. For the curious: github.com/jaspervdj/BlazeHtml
29.
Questions?
Descargar ahora