Difference between revisions of "Reactive-banana/Examples"
Jump to navigation
Jump to search
m (fix broken links) |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 12: | Line 12: | ||
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Arithmetic.hs Arithmetic.hs] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Arithmetic.hs Arithmetic.hs] |
||
: Minimalistic calculator that can add two numbers. Demonstrates how to read values from text entries. |
: Minimalistic calculator that can add two numbers. Demonstrates how to read values from text entries. |
||
− | [[Image:Reactive-banana-Arithmetic.png]] |
+ | :[[Image:Reactive-banana-Arithmetic.png]] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Counter.hs Counter.hs] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Counter.hs Counter.hs] |
||
: A simple counter that can be manipulated with two buttons "Up" or "Down". Demonstrates how to get events from button clicks and how to accumulate values using the <code>accumB</code> function. |
: A simple counter that can be manipulated with two buttons "Up" or "Down". Demonstrates how to get events from button clicks and how to accumulate values using the <code>accumB</code> function. |
||
− | [[Image:Reactive-banana-Counter.png]] |
+ | :[[Image:Reactive-banana-Counter.png]] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/NetMonitor.hs NetMonitor.hs] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/NetMonitor.hs NetMonitor.hs] |
||
: Minimalistic application that displays network statistics in real time. Demonstrates the <code>fromPoll</code> function. |
: Minimalistic application that displays network statistics in real time. Demonstrates the <code>fromPoll</code> function. |
||
− | [[Image:Reactive-banana-NetMonitor.png]] |
+ | :[[Image:Reactive-banana-NetMonitor.png]] |
− | ; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/CurrencyConverter.hs CurrencyConverter.hs] |
+ | ; <span id="CurrencyConverter">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/CurrencyConverter.hs CurrencyConverter.hs] |
: Simple currency converter. Reads and writes values to text entry widgets in real-time. Demonstrates bidirectional controls. |
: Simple currency converter. Reads and writes values to text entry widgets in real-time. Demonstrates bidirectional controls. |
||
− | [[Image:Reactive-banana-CurrencyConverter.png]] |
+ | :[[Image:Reactive-banana-CurrencyConverter.png]] |
− | ; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/TwoCounters.hs TwoCounters.hs] |
+ | ; <span id="twoCounters">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/TwoCounters.hs TwoCounters.hs] |
− | : Two simple counters. There is only one pair of buttons "Up" or "Down", the button "Switch Counters" allows you to specify which counter should be affected. |
+ | : Two simple counters. There is only one pair of buttons "Up" or "Down", the button "Switch Counters" allows you to specify which counter should be affected. |
+ | :[[Image:Reactive-banana-TwoCounters.png]] |
||
== GUI Examples - More elaborate == |
== GUI Examples - More elaborate == |
||
− | ; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/ |
+ | ; <span id="animation">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Animation.hs Animation.hs]</span> |
+ | : A small interactive animation. The sprite follows the mouse pointer. |
||
+ | :[[Image:Reactive-banana-Animation.png]] |
||
+ | |||
+ | ; <span id="asteroids">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Asteroids.hs Asteroids.hs]</span> |
||
: Port of the [[wxAsteroids]] example. |
: Port of the [[wxAsteroids]] example. |
||
− | [[Image:Reactive-banana- |
+ | : [[Image:Reactive-banana-Asteroids.png]] |
+ | |||
+ | ; <span id="bartab">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/BarTab.hs BarTab.hs]</span> |
||
+ | : Add all numbers on the tab. Demonstrates how to dynamically create widgets and <code>Behavior</code>s. |
||
+ | :[[Image:Reactive-banana-BarTab.png]] |
||
− | ; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/CRUD.hs CRUD.hs] |
+ | ; <span id="crud">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/CRUD.hs CRUD.hs]</span> |
: A toy CRUD (Create/Read/Update/Destroy) application. The code is quite pleasant. Unfortunately, bidirectional controls are still hard to describe, I have left this in a somewhat buggy state. Future updates will rectify this. |
: A toy CRUD (Create/Read/Update/Destroy) application. The code is quite pleasant. Unfortunately, bidirectional controls are still hard to describe, I have left this in a somewhat buggy state. Future updates will rectify this. |
||
− | [[Image:Reactive-banana-CRUD1.png]] [[Image:Reactive-banana-CRUD2.png]] |
+ | :[[Image:Reactive-banana-CRUD1.png]] [[Image:Reactive-banana-CRUD2.png]] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/TicTacToe.hs TicTacToe.hs] |
; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/TicTacToe.hs TicTacToe.hs] |
||
− | : A version of TicTacToe |
+ | : A version of TicTacToe. Based on a version by Gideon Sireling. |
− | [[Image:Reactive-banana-TicTacToe.png]] |
+ | :[[Image:Reactive-banana-TicTacToe.png]] |
− | ; [https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Wave.hs Wave.hs] |
+ | ; <span id="wave">[https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Wave.hs Wave.hs]</span> |
− | : A wave-like pattern. Not the most beautiful code, but it demonstrates that you can |
+ | : A wave-like pattern. Not the most beautiful code, but it demonstrates that you can generate timed events. |
− | [[Image:Reactive-banana-Wave.png]] |
+ | :[[Image:Reactive-banana-Wave.png]] |
Latest revision as of 01:53, 30 March 2014
Examples for the reactive-banana library.
Core Examples
- SlotMachine.hs
- Mainly demonstrates how to set up an event network with your own event loop. Also demonstrates the FRP functionality.
- ActuatePause.hs
- Demonstrates how to set up an event network with your own event loop and how to pause or resume it.
GUI Examples - Very simple
- Arithmetic.hs
- Minimalistic calculator that can add two numbers. Demonstrates how to read values from text entries.
- Counter.hs
- A simple counter that can be manipulated with two buttons "Up" or "Down". Demonstrates how to get events from button clicks and how to accumulate values using the
accumB
function.
- NetMonitor.hs
- Minimalistic application that displays network statistics in real time. Demonstrates the
fromPoll
function.
- CurrencyConverter.hs
- Simple currency converter. Reads and writes values to text entry widgets in real-time. Demonstrates bidirectional controls.
- TwoCounters.hs
- Two simple counters. There is only one pair of buttons "Up" or "Down", the button "Switch Counters" allows you to specify which counter should be affected.
GUI Examples - More elaborate
- Animation.hs
- A small interactive animation. The sprite follows the mouse pointer.
- Asteroids.hs
- Port of the wxAsteroids example.
- BarTab.hs
- Add all numbers on the tab. Demonstrates how to dynamically create widgets and
Behavior
s.
- CRUD.hs
- A toy CRUD (Create/Read/Update/Destroy) application. The code is quite pleasant. Unfortunately, bidirectional controls are still hard to describe, I have left this in a somewhat buggy state. Future updates will rectify this.
- TicTacToe.hs
- A version of TicTacToe. Based on a version by Gideon Sireling.
- Wave.hs
- A wave-like pattern. Not the most beautiful code, but it demonstrates that you can generate timed events.