Drawing programs: the theory and practice of schematic functional programming
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
London [u.a.]
Springer
2010
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XVI, 395 S. Ill., graph. Darst. |
ISBN: | 9781848826175 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035591149 | ||
003 | DE-604 | ||
005 | 20100819 | ||
007 | t | ||
008 | 090630s2010 ad|| |||| 00||| eng d | ||
015 | |a 09,N15,0008 |2 dnb | ||
016 | 7 | |a 993396429 |2 DE-101 | |
020 | |a 9781848826175 |c PB. : EUR 74.85 (freier Pr.), sfr 116.50 (freier Pr.) |9 978-1-84882-617-5 | ||
024 | 3 | |a 9781848826175 | |
028 | 5 | 2 | |a 12271801 |
035 | |a (OCoLC)401153823 | ||
035 | |a (DE-599)DNB993396429 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-20 |a DE-703 |a DE-11 | ||
050 | 0 | |a QA76.62 | |
082 | 0 | |a 004 | |
084 | |a ST 240 |0 (DE-625)143625: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Addis, Thomas R. |e Verfasser |0 (DE-588)139370625 |4 aut | |
245 | 1 | 0 | |a Drawing programs |b the theory and practice of schematic functional programming |c Tom Addis ; Jan Addis |
264 | 1 | |a London [u.a.] |b Springer |c 2010 | |
300 | |a XVI, 395 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Functional programming (Computer science) | |
650 | 4 | |a Visual programming (Computer science) | |
650 | 0 | 7 | |a Diagramm |0 (DE-588)4012044-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |D s |
689 | 0 | 1 | |a Diagramm |0 (DE-588)4012044-2 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Addis, Jan |e Verfasser |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Bayreuth |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017646367&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-017646367 |
Datensatz im Suchindex
_version_ | 1804139253606645760 |
---|---|
adam_text | Contents
1
Why Schematic Functional Programming?
............. 1
Introduction
............................... 1
The Collapse of Visual Languages
[—>·
Page
12]............ 3
Engineering Drawings
[—►
Page
12]................... 4
Engineering Drawings Used for Programming
[—>
Page
12]..... 6
Different Types of Clarity
........................ 11
A Brief History
[-►
Page
12]..................... 11
*Getting Going
............................. 12
A Little Bit About Functions
[-»·
Page
17]............... 15
♦ Hello World
............................. 17
Exercise
1.1 ............................... 18
An Example Schematic
......................... 18
A First Attempt at a Schematic
..................... 19
Exercise
1.2............................... 24
Changing a Function
........................... 24
Saving a Program/Database
....................... 26
Loading a Program/Database
...................... 27
Project: Creating a Simple Clarity Program DICE
........... 28
Dice: Generating a Random Number
................. 28
Exercises
1.3............................... 32
Questions
1.1............................... 32
References
................................ 33
2
Making Changes
............................ 35
Introduction
............................... 35
Problems of Software Design
(—>■
Page
42]............... 35
A Typical Example
.......................... 36
The Engineering Dimensions of Design
............... 36
Some Definitions for Practical Results
................ 38
Choice and Random Selection
.................... 40
*Over Your Shoulder
.......................... 42
List Manipulation
[—*■
Page
44]..................... 43
♦Improving Awake
........................... 44
Contents
A Little Bit More About Functions I-»· Page
51]............ 48
Built-in Library and Function Types
[->
Page
51]........... 49
Exercise
2.1 ...............................
50
Questions
2.1...............................
5
♦Great Functions Have Little Functions
................. 51
More Schema Editing Features
..................... 54
Exercise
2.2............................... 58
Memory, Windows and You
....................... 58
Exercise
2.3...............................
61
Questions
2.2............................... 61
Project: A Simple Interactive Program
................. 62
Guess: Finding Your Number with Least Questions
......... 62
Exercise
2.4............................... 71
Questions
2.3............................... 71
References
................................ 72
3
In Pursuit of Elegance
......................... 73
Introduction
............................... 73
Inferring Internal Experience
[->■
Page
81]............... 74
A Philosophical View of Computing
[-»
Page
81]........... 75
Dual Semantics
[->■
Page
81]...................... 78
More on Functions
[->
Page
81] .................... 80
♦Creating Components
......................... 81
Constructors: The Packaging of Data
.................. 86
Looking Through the Function Window
................. 89
Exercises
3.1............................... 94
Questions
3.1............................... 94
The Notion of Casting
.......................... 95
A Structure Process Diagram
(SPD).................. 95
Exercise
3.2............................... 101
Questions
3.2............................... 102
Project: Playing a Simple Game
..................... 102
Paper: Out Guess the Computer
.................... 102
Exercise
3.3............................... 108
Questions
3.3............................... 109
References
................................ 109
4
Mind Maps™ and Mechanisms
....................
111
Introduction
...............................
Ill
Junctions, Colour and Organisation
...................
1
12
Annotation
................................ 115
List Processing and Constructors
.................... 118
Dealing with Input
............................ 120
Functions as Global Variables
...................... 123
Excercises
4.1.............................. 124
Questions
4.1............................... 124
Contents xiii
Details
of Pattern-Matching
[-»·
Page
140] ............... 125
Dealing with Conditionals
(Ifs)
[->
Page
140].............. 126
The Engineering Coherences of Design [—»-Page
140]......... 127
Functional vs. Imperative Programming [-»-Page
140]......... 128
Creating a Schematic Language
[—>·
Page
140]............. 129
The Problems of a Functional Language
............... 129
Solving the Problems
......................... 130
Doing Without Ifs [-»Page
140].................. 132
Exploring Real Programs
[—>·
Page
140]................ 135
The Approach, Results and Interpretation
.............. 135
Discussion on Results
.......................... 138
Consequences of the Experiments
.................... 138
♦PROJECT: A Minimalist Program
................... 140
Digits: Doing Without the Built-in Library
............. 140
Exercises
4.2............................... 145
Questions
4.2............................... 146
References
................................ 146
5
Functional Thinking
.......................... 149
Introduction
............................... 149
Loops and Recursion
........................... 150
Tail Recursion and Auxiliary Functions
................. 154
Exercise
5.1 ............................... 156
Questions
5.1............................... 157
Functions as Mappings
[-*■
Page
160].................. 157
♦Programming by Numbers
....................... 160
Exercises
5.2............................... 165
Questions
5.2............................... 166
Project: Using Pattern Matching
..................... 166
Snakel: Snakes and Ladders
..................... 166
Snake2: Snakes and Ladders
..................... 177
Exercise
5.3............................... 183
Reference
................................ 183
6
Thinking Practically
.......................... 185
Introduction
............................... 185
Conditional Control
........................... 185
Higher-Order Functions
......................... 191
Non-recursive Approach to Loops
.................... 194
Creating Two Useful Functions
..................... 196
Non-recursive Approach to Iteration
.................. 199
Lambda : Controlling the Parameter Assignment
.......... 200
Editing out Sub-functions to a New Function Window
........ 202
The Annotation Window
......................... 202
Exercises
6.1............................... 204
Questions
6.1............................... 205
xjv Contents
Project: A Simple Learning Strategy
.................. 205
Охо:
The Game Player That Learns
................. 205
7
Side Effect Programming and Schematic Design
.......... 223
Introduction
............................... 223
Functions as Data
............................ 224
Functions as Relations
........................ 226
Stages of System Design
......................... 227
Sequences
............................... 230
Evaluation Control
.......................... 233
Benign and Malignant Side Effects
................. 234
Schematic Design
............................ 235
An Emergent Design Technique
................... 235
Artificial Intelligence
......................... 236
The General Problem Solver
..................... 237
Graph Search
............................. 238
The And/Or Graph
.......................... 239
Emergent Analysis Stage
....................... 240
Construction Stage
.......................... 246
In Summary
.............................. 253
Exercises
7.1............................... 253
Questions
7.1............................... 253
Project: Learning from Defeat
...................... 254
0x02:
The Game Player That Learns: A Continuation
........ 254
ОхоЗ:
The Game Player That Learns: Another Improvement
.... 259
Oxo4: The Game Player That Does Even Better
........... 262
0xo5: Hindering the Opponent
.................... 264
References
................................ 266
8
Adult Things
.............................. 267
Introduction
............................... 267
Graphics Operations
........................... 267
gr_operations
............................. 267
btn_operations
............................. 270
Dialog
................................. 270
Narrative Window (narj
........................ 271
Automatic Junction Insertion for Dependency Networks
........ 272
Converting Faith Code to Clarity Diagrams
.............. 274
File Operations
............................ 275
Basics
................... 275
Lists and Tables
.............. 277
Trees and Networks
.......................... 279
Casting and Code Generation
...................... 281
Bayesian Decision Functions
...................... 282
Introduction
............ 282
Contents xv
The Bayesian Theory of Classification
[-»
Page
285]........ 283
*The Bayesian Functions in Operation
................ 285
Matrix Operations and Linear Simultaneous Equations
......... 287
Set Operations
.............................. 288
Switches
................................. 288
Project: Using Faith with Clarity
.................... 289
Loans: A Loans Calculation Program
................ 289
References
................................ 300
9
Higher-Order Programming and Lower Level Activity
....... 301
Special Function Classes
......................... 301
Introduction
.............................. 301
Function and Constructor Handling
.................. 302
System
................................. 306
Client/Server Facilities
.......................... 309
Overview of Network and Machine Organisation
.......... 309
Manual Networking
.......................... 310
Networking Through User Functions
................. 313
Adding Users Own Code: Extending the Library
........... 315
A Simple Approach
.......................... 315
Writing Application Extensions: (DLLs)
............... 316
Creating an Interface to Clarity
.................... 319
Some Additional Features
........................ 322
Importing and Exporting Databases
.................. 322
Stacking Windows
.......................... 323
Re-numbering and Naming Function Components
......... 323
The Clarity Source Code
......................... 324
The
С
Files and Header Files
..................... 326
Project: Problem Solving
........................ 327
Sudoku: Searching for Answers
................... 327
References
................................ 341
10
Programming with Uncertainty: Theories, Models and Programs
. 343
Models and Programs
[—>
Page
349]................... 343
The Role of a Model
......................... 345
*
Solving Sudoku
............................ 349
An Introduction to Game Theory
[-*■
Page
364] ............ 351
The Problem of the Best Choice
.................. 351
The Old Shell Game
.......................... 352
Principles of Maximising
....................... 353
Probabilistic Strategies
........................ 353
Choosing Actions (or Calculating a Heuristic)
............. 355
Maximum Security Level (MSL)
................... 355
Generalised MSL for Actions
..................... 356
Multiple Simultaneous Equations Matrix
............... 356
Implementing MSL
.......................... 357
xv¡
Contents
The Act of Choosing
......................... 359
Information and Choice
......................... 362
A Brief Introduction to Information Theory
............. 362
*
Using Information to Choose
.................... 364
Belief Adjustment
—►
Page
372.................... 367
The Impact of Evidence: Hypotheses and Theories
......... 369
A Simple Example of Confidence Adjustment
............ 370
*
Belief Adjustment and Learning
.................... 372
A Belief Keyword Retrieval System
................. 372
Implementing a Belief Retrieval System
............... 373
Final Word
................................ 377
References
................................ 377
Appendix A: A BNF Description of the Functional Data
Language Faith: The Faith Code Window
.............. 381
Fdb Section
............................... 381
Function and Constructor Declarations
................. 381
Function Expressions
.......................... 382
Function Definitions
........................... 382
TheControl Window
........................... 382
Basics
.................................. 383
Appendix B: An Extension of Faith to the Schematic Language Clarity
385
A Schematic Extension of BNF
..................... 385
The Constructor Window
........................ 386
The Function Window
.......................... 386
The Network Window
.......................... 387
Appendix C: The
¿seg
File Structure
.................... 389
An Example
.seg
File
.......................... 389
End of Segement File Example
.................... 391
Index
........................... 393
|
any_adam_object | 1 |
author | Addis, Thomas R. Addis, Jan |
author_GND | (DE-588)139370625 |
author_facet | Addis, Thomas R. Addis, Jan |
author_role | aut aut |
author_sort | Addis, Thomas R. |
author_variant | t r a tr tra j a ja |
building | Verbundindex |
bvnumber | BV035591149 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.62 |
callnumber-search | QA76.62 |
callnumber-sort | QA 276.62 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 240 |
ctrlnum | (OCoLC)401153823 (DE-599)DNB993396429 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01773nam a2200457 c 4500</leader><controlfield tag="001">BV035591149</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20100819 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">090630s2010 ad|| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">09,N15,0008</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">993396429</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781848826175</subfield><subfield code="c">PB. : EUR 74.85 (freier Pr.), sfr 116.50 (freier Pr.)</subfield><subfield code="9">978-1-84882-617-5</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781848826175</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">12271801</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)401153823</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB993396429</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.62</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 240</subfield><subfield code="0">(DE-625)143625:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Addis, Thomas R.</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)139370625</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Drawing programs</subfield><subfield code="b">the theory and practice of schematic functional programming</subfield><subfield code="c">Tom Addis ; Jan Addis</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">London [u.a.]</subfield><subfield code="b">Springer</subfield><subfield code="c">2010</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVI, 395 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Functional programming (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Visual programming (Computer science)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Diagramm</subfield><subfield code="0">(DE-588)4012044-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Diagramm</subfield><subfield code="0">(DE-588)4012044-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Addis, Jan</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017646367&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017646367</subfield></datafield></record></collection> |
id | DE-604.BV035591149 |
illustrated | Illustrated |
indexdate | 2024-07-09T21:41:09Z |
institution | BVB |
isbn | 9781848826175 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017646367 |
oclc_num | 401153823 |
open_access_boolean | |
owner | DE-20 DE-703 DE-11 |
owner_facet | DE-20 DE-703 DE-11 |
physical | XVI, 395 S. Ill., graph. Darst. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
publisher | Springer |
record_format | marc |
spelling | Addis, Thomas R. Verfasser (DE-588)139370625 aut Drawing programs the theory and practice of schematic functional programming Tom Addis ; Jan Addis London [u.a.] Springer 2010 XVI, 395 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Functional programming (Computer science) Visual programming (Computer science) Diagramm (DE-588)4012044-2 gnd rswk-swf Funktionale Programmierung (DE-588)4198740-8 gnd rswk-swf Funktionale Programmierung (DE-588)4198740-8 s Diagramm (DE-588)4012044-2 s DE-604 Addis, Jan Verfasser aut Digitalisierung UB Bayreuth application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017646367&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Addis, Thomas R. Addis, Jan Drawing programs the theory and practice of schematic functional programming Functional programming (Computer science) Visual programming (Computer science) Diagramm (DE-588)4012044-2 gnd Funktionale Programmierung (DE-588)4198740-8 gnd |
subject_GND | (DE-588)4012044-2 (DE-588)4198740-8 |
title | Drawing programs the theory and practice of schematic functional programming |
title_auth | Drawing programs the theory and practice of schematic functional programming |
title_exact_search | Drawing programs the theory and practice of schematic functional programming |
title_full | Drawing programs the theory and practice of schematic functional programming Tom Addis ; Jan Addis |
title_fullStr | Drawing programs the theory and practice of schematic functional programming Tom Addis ; Jan Addis |
title_full_unstemmed | Drawing programs the theory and practice of schematic functional programming Tom Addis ; Jan Addis |
title_short | Drawing programs |
title_sort | drawing programs the theory and practice of schematic functional programming |
title_sub | the theory and practice of schematic functional programming |
topic | Functional programming (Computer science) Visual programming (Computer science) Diagramm (DE-588)4012044-2 gnd Funktionale Programmierung (DE-588)4198740-8 gnd |
topic_facet | Functional programming (Computer science) Visual programming (Computer science) Diagramm Funktionale Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017646367&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT addisthomasr drawingprogramsthetheoryandpracticeofschematicfunctionalprogramming AT addisjan drawingprogramsthetheoryandpracticeofschematicfunctionalprogramming |