Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Fancy Programming Language - FrOSCon 2013
Search
bakkdoor
August 25, 2013
Programming
0
93
The Fancy Programming Language - FrOSCon 2013
Talk I gave about Fancy at FrOSCon 2013 in Bonn, Germany. The talk is in German.
bakkdoor
August 25, 2013
Tweet
Share
More Decks by bakkdoor
See All by bakkdoor
Learning Elm in 3 Days
bakkdoor
1
47
Fancy Hacking / Hacking Fancy
bakkdoor
0
120
Getting Fancy on Rubinius
bakkdoor
3
320
Other Decks in Programming
See All in Programming
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
380
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
260
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
XSLTで作るBrainfuck処理系
makki_d
0
210
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
240
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
360
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
400
童醫院敏捷轉型的實踐經驗
cclai999
0
190
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
160
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
550
5つのアンチパターンから学ぶLT設計
narihara
1
110
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Producing Creativity
orderedlist
PRO
346
40k
Visualization
eitanlees
146
16k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Adopting Sorbet at Scale
ufuk
77
9.4k
Transcript
Christopher Bertels @bakkdoor http://www.fancy-lang.org
About me • Interested in programming language and their implementations
• Professionally work on • backend systems • tools • language compilers, parsers, translators ...
I love languages
So I’ve created my own.
None
dynamic
pure object-oriented
class-based
reflective concurrent simple extendable minimalistic
self-hosted
None
Literal Syntax
Numbers
Strings
Regular Expressions
Symbols
Arrays
Hashes
Tuples
Ranges
Blocks
Message Passing
None
Message Grouping Operators
None
None
Classes
None
None
None
None
Flow-Control
None
None
None
None
None
None
None
None
None
None
None
None
Dynamic Variables
Dynamic Variables • Come from Lisp • Thread-local • Dynamic
binding (runtime call stack) • Used for things like stdio • Like global variables, but way better
None
None
None
Actors & Futures
Actors & Futures • Built-in support for async & future
sends • Multiple implementations, thinking about using Celluloid as default implementation • Currently using Rubinius’ Actor library • rubinius-actor gem
None
None
None
Actors & Futures • @ / @@ syntax compiled into:
• Object#send_future:with_params: • Object#send_async:with_params:
Rubinius & Ruby Interop
None
None
Tools
fspec
None
None
fdoc
None
package system
redis.fy.fancypack
None
Editor Support • Emacs • Vim (not maintained by me)
• TextMate • Sublime Text
What can it be used for?
automation
“scripting”
backend systems
web development
web development
web development
distributed services
realtime computation with Storm
None
None
None
None
None
None
Riak
Riak
Riak
Riak
Riak
$ fancy install bakkdoor/ripple.fy Riak
Redis
$ fancy install bakkdoor/redis.fy Redis
None
and much more ...
and much more ...
Installation
None
fancy-lang.org github.com/bakkdoor/fancy
Thanks! @bakkdoor bakkdoor.net