Central European Functional Programming School 6th Summer School, CEFP 2015, Budapest, Hungary, July 6-10, 2015, Revised Selected Papers
This volume presents the revised lecture notes of selected talks given at the 6th Central European Functional Programming School, CEFP 2015, held in July 2015, in Budapest, Hungary.The 10 revised full papers presented were carefully reviewed and selected. The lectures covered a wide range of functio...
Saved in:
| Main Authors | , , |
|---|---|
| Format | eBook Conference Proceeding |
| Language | English |
| Published |
Cham
Springer Nature
2019
Springer International Publishing AG Springer International Publishing Springer |
| Edition | 1 |
| Series | Lecture Notes in Computer Science |
| Subjects | |
| Online Access | Get full text |
| ISBN | 3030283461 9783030283469 9783030283452 3030283453 |
| ISSN | 0302-9743 1611-3349 |
| DOI | 10.1007/978-3-030-28346-9 |
Cover
| Abstract | This volume presents the revised lecture notes of selected talks given at the 6th Central European Functional Programming School, CEFP 2015, held in July 2015, in Budapest, Hungary.The 10 revised full papers presented were carefully reviewed and selected. The lectures covered a wide range of functional programming and C++ programming subjects. |
|---|---|
| AbstractList | This volume presents the revised lecture notes of selected talks given at the 6th Central European Functional Programming School, CEFP 2015, held in July 2015, in Budapest, Hungary.The 10 revised full papers presented were carefully reviewed and selected. The lectures covered a wide range of functional programming and C++ programming subjects. |
| Author | Zsók, Viktória Horváth, Zoltán Porkoláb, Zoltán |
| Author_xml | – sequence: 1 fullname: Zsok, Viktoria – sequence: 2 fullname: Porkolab, Zoltan – sequence: 3 fullname: Horvath, Zoltan |
| BookMark | eNpNkMtOwzAQRQ0URFv6AewqNoiFWzvjPGYJUQtIlUAC1padOG0gtUucwu-TNAixmte5o5k7IgPrrCHkkrMZZyyeY5xQoAwYDRIQEcUjMoK2PFT8mAx5xDkFEHjyfzAgwy6nGAs4IyPOeRxzBgLOycT7d8ZYELAEWTIks9TYplbVdLGv3c4oO13ubdaUzra959qta7XdlnY9fck2zlUX5LRQlTeT3zgmb8vFa_pAV0_3j-ntiioehSHQQKsiigyEBSoE1AoRQWOhuIlio4HlhRCotAi0zhRmiU7yHCDUeYK6yGFMbvq9yn-Yb79xVePlV2W0cx9etrb8PYstO-9Zv6vbS00te4oz2ZnY0RJky8uDQHaK616xq93n3vhGHhZnvRVycZeGGERCQEte9WSmvKpKW8qts50pu42XIYiAcYQfp3J3cQ |
| ContentType | eBook Conference Proceeding |
| Copyright | Springer Nature Switzerland AG 2019 |
| Copyright_xml | – notice: Springer Nature Switzerland AG 2019 |
| DBID | I4C |
| DEWEY | 005 |
| DOI | 10.1007/978-3-030-28346-9 |
| DatabaseName | Casalini Torrossa eBooks Institutional Catalogue |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 3030283461 9783030283469 |
| EISSN | 1611-3349 |
| Edition | 1 1st ed. 2019. |
| Editor | Zsók, Viktória Horváth, Zoltán Porkoláb, Zoltán |
| Editor_xml | – sequence: 1 fullname: Horváth, Zoltán – sequence: 2 fullname: Porkoláb, Zoltán – sequence: 3 fullname: Zsók, Viktória |
| ExternalDocumentID | 9783030283469 488233 EBC5926443 5342019 |
| GroupedDBID | 38. AABBV AAJYQ AATVQ ABBUY ABCYT ACDTA ACDUY AEDXK AEHEY AEJLV AEKFX AHNNE ALMA_UNASSIGNED_HOLDINGS ATJMZ AYMPB BBABE CXBFT CZZ EXGDT FCSXQ I4C IEZ MGZZY NSQWD OORQV SBO TPJZQ TSXQS Z83 Z84 Z88 -DT -~X 29L 2HA 2HV ACGFS ADCXD EJD F5P LAS LDH P2P RSU ~02 |
| ID | FETCH-LOGICAL-a16553-2baf66e35f9a939ba9993b9fa1e67eb30df449ab42bbca9c8b8dd335bd89bfd3 |
| ISBN | 3030283461 9783030283469 9783030283452 3030283453 |
| ISSN | 0302-9743 |
| IngestDate | Tue Sep 09 06:55:59 EDT 2025 Tue Oct 01 19:17:10 EDT 2024 Thu Apr 24 04:17:11 EDT 2025 Tue Sep 09 06:54:12 EDT 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| LCCallNum_Ident | Q |
| Language | English |
| LinkModel | OpenURL |
| MeetingName | Central European Functional Programming School |
| MergedId | FETCHMERGED-LOGICAL-a16553-2baf66e35f9a939ba9993b9fa1e67eb30df449ab42bbca9c8b8dd335bd89bfd3 |
| OCLC | 1117710343 |
| PQID | EBC5926443 |
| PageCount | 401 |
| ParticipantIDs | askewsholts_vlebooks_9783030283469 springer_books_10_1007_978_3_030_28346_9 proquest_ebookcentral_EBC5926443 casalini_monographs_5342019 |
| PublicationCentury | 2000 |
| PublicationDate | 2019 20190814 2019-08-13 |
| PublicationDateYYYYMMDD | 2019-01-01 2019-08-14 2019-08-13 |
| PublicationDate_xml | – year: 2019 text: 2019 |
| PublicationDecade | 2010 |
| PublicationPlace | Cham |
| PublicationPlace_xml | – name: Netherlands – name: Cham |
| PublicationSeriesSubtitle | Theoretical Computer Science and General Issues |
| PublicationSeriesTitle | Lecture Notes in Computer Science |
| PublicationSeriesTitleAlternate | Lect.Notes Computer |
| PublicationYear | 2019 |
| Publisher | Springer Nature Springer International Publishing AG Springer International Publishing Springer |
| Publisher_xml | – name: Springer Nature – name: Springer International Publishing AG – name: Springer International Publishing – name: Springer |
| RelatedPersons | Hartmanis, Juris Gao, Wen Bertino, Elisa Woeginger, Gerhard Goos, Gerhard Steffen, Bernhard Yung, Moti |
| RelatedPersons_xml | – sequence: 1 givenname: Gerhard surname: Goos fullname: Goos, Gerhard organization: Karlsruhe Institute of Technology, Karlsruhe, Germany – sequence: 2 givenname: Juris surname: Hartmanis fullname: Hartmanis, Juris organization: Cornell University, Ithaca, USA – sequence: 3 givenname: Elisa surname: Bertino fullname: Bertino, Elisa organization: Purdue University, West Lafayette, USA – sequence: 4 givenname: Wen surname: Gao fullname: Gao, Wen organization: Peking University, Beijing, China – sequence: 5 givenname: Bernhard surname: Steffen fullname: Steffen, Bernhard organization: TU Dortmund University, Dortmund, Germany – sequence: 6 givenname: Gerhard surname: Woeginger fullname: Woeginger, Gerhard organization: RWTH Aachen, Aachen, Germany – sequence: 7 givenname: Moti surname: Yung fullname: Yung, Moti organization: Columbia University, New York, USA |
| SSID | ssj0002208908 ssj0002792 |
| Score | 2.4790652 |
| Snippet | This volume presents the revised lecture notes of selected talks given at the 6th Central European Functional Programming School, CEFP 2015, held in July 2015,... |
| SourceID | askewsholts springer proquest casalini |
| SourceType | Aggregation Database Publisher |
| SubjectTerms | Artificial Intelligence Computer programming, programs, data Computer Science Database Management Functional programming (Computer science) Programming Languages, Compilers, Interpreters Programming Techniques Software Engineering |
| Subtitle | 6th Summer School, CEFP 2015, Budapest, Hungary, July 6-10, 2015, Revised Selected Papers |
| TableOfContents | 5 Lambda Expressions -- 5.1 Capture -- 5.2 Capturing this Pointer -- 5.3 Constant Initialization by Lambda -- 5.4 Generic Lambdas -- 5.5 Generalized Lambda Capture -- 6 C++ Template Metaprogramming -- 7 Summary -- References -- Programming in a Functional Style in C++ -- 1 Introduction -- 2 Functional Programming in C++ -- 3 Functional Programming: The Definition -- 4 Characteristics of Functional Programming -- 4.1 First-Class Functions -- The Extension of the Function Concept. -- 4.2 First-Class Functions -- 4.3 Immutable Data -- 4.4 Pure Functions -- 4.5 Recursion -- 4.6 Processing of Lists -- 4.7 Lazy Evaluation -- 5 Functional Programming in C++17 and C++20 -- 5.1 Fold Expressions -- 5.2 Ranges Library -- Lazy Evaluation. -- Function Composition. -- Range Comprehension. -- 5.3 Concepts Lite -- Concepts Lite for Class Templates and Member of Classes. -- Extended Functionality. -- 5.4 std::optional -- 5.5 std::future Extensions -- 5.6 Conclusion -- References -- Functional, Reactive Web Programming in F# -- 1 Introduction -- 2 WebSharper -- 3 WebSharper UI.Next -- 3.1 Dynamic Dataflow -- 3.2 Reactive DOM -- 3.3 List Models -- 3.4 Reactive Templates -- 4 Examples -- 4.1 Reactive Views -- 4.2 Reactive Formlets -- 4.3 Reactive Piglets -- 4.4 Reactive Templates -- 5 Related Work -- 6 Conclusions -- References -- Functional Languages in Design of Coloured Petri Nets Models -- 1 Introduction -- 2 Basic Concepts of Petri Nets -- 2.1 Markings and Transition Firing -- 3 Standard ML -- 3.1 Expressions and Primitive Types -- 3.2 Variables and Functions -- 3.3 Tuples, Records and Lists -- 3.4 User-Defined Types -- 3.5 Higher-Order Functions -- 3.6 Structures, Signatures and Functors -- 4 CPN ML -- 4.1 Colour Sets and Variables -- 4.2 Multisets -- 5 Coloured Petri Nets -- 5.1 Place, Transition and Arc Inscriptions -- 5.2 Transition Firing -- 5.3 Time in CPN 8.5 Compiler-Directed Parallelisation for Workstation Clusters -- 9 Compilation Case Study: Convolution -- 9.1 Type Inference and Function Specialisation -- 9.2 Optimisation Prologue -- 9.3 With-Loop Folding -- 9.4 With-Loop Fusion -- 9.5 Optimisation Epilogue -- 9.6 With-Loop Lowering -- 9.7 Index Vector Elimination -- 9.8 Memory Management -- 9.9 Code Generation and Final Words -- 10 Experimental Evaluation: An Annotated Bibliography -- 11 Related Work -- 12 Conclusions and Perspectives -- References -- Type-Safe Functions and Tasks in a Shallow Embedded DSL for Microprocessors -- 1 Introduction -- 2 Arduino Programming -- 2.1 Shields -- 3 DSL Implementation Techniques -- 3.1 Deep Embedding of the DSL -- 3.2 Generalized Algebraic Data Types for the DSL -- 3.3 Shallow Embedding of the DSL -- 3.4 Shallow Embedding of the DSL with Multiple Views -- 4 The mTask DSL -- 4.1 Expressions -- 4.2 Arduino Data Types -- 4.3 Conditionals -- 4.4 Shared Data Sources -- 4.5 Monadic Bind -- 4.6 Input-Output Pins -- 4.7 Shield Control -- 4.8 Function Definitions -- 4.9 Task Definitions -- 4.10 Mutual Recursion -- 4.11 Examples -- 4.12 Software Download -- 5 The Code Generation View of mTask -- 5.1 Data Type for Compilation -- 5.2 Code Generation for Expressions -- 5.3 Code Generation for Arduino Data Types -- 5.4 Code Generation for Conditionals -- 5.5 Code Generation for Share Definitions -- 5.6 Code Generation for the Monadic Bind -- 5.7 Code Generation for Input-Output Pins -- 5.8 Code Generation for Shield Classes -- 5.9 Code Generation for Function Definitions -- 5.10 Code Generation for Task Definitions -- 6 The Simulation View -- 6.1 Data Type for Simulation -- 6.2 Evaluating Expressions -- 6.3 Evaluation of Arduino Data Types -- 6.4 Evaluation of Conditionals -- 6.5 Evaluation of Share Definitions -- 6.6 Evaluation of the Monadic Bind 6.7 Evaluation of Input-Output Pins -- 6.8 Evaluation of Shield Control -- 6.9 Evaluation of Functions Definitions -- 6.10 Evaluation of Task Definitions -- 6.11 An mTask Simulator -- 7 Optimization -- 7.1 Partial Evaluation -- 7.2 Syntax Tree Manipulation -- 8 Related Work -- 8.1 High-Level Languages for Microprocessors -- 8.2 Generating C-Code -- 8.3 Shallow Embedding of DSLs with Multiple Views -- 8.4 Future Work -- 9 Discussion -- A The Function [language=Clean]compile -- References -- Static and Dynamic Visualisations of Monadic Programs -- 1 Introduction -- 2 Static Blueprints: Examples -- 2.1 Static Blueprints of the I/O Monad -- 2.2 Static Blueprints of the Task Monad -- 3 Building Static Blueprints -- 4 Dynamic Blueprints -- 4.1 Dynamic Blueprints of the Task Monad -- 4.2 Tonic Architecture -- 4.3 Tonic Wrappers in Action -- 4.4 Dynamic Blueprints in iTasks -- 4.5 The Integrated Tonic Viewer -- 5 Blueprints for All -- 5.1 Dynamic Blueprints of the I/O Monad -- 5.2 Stand-Alone Viewer Architecture -- 5.3 Drawing Dynamic Blueprints -- 5.4 Discussion -- 6 Related Work -- 7 Discussion and Conclusion -- A Using Tonic -- B iTasks Combinators -- B.1 Type Classes -- B.2 Step Combinator and Utility Functions -- B.3 Parallel Combinators -- B.4 Editors -- B.5 Share Combinators -- B.6 Task Assignment -- References -- Analyzing Scale-Free Properties in Erlang and Scala -- 1 Introduction -- 2 Related Works -- 2.1 On Scale-Free Networks -- 2.2 Metrics -- 3 Formal Evaluation -- 3.1 Definitions -- 4 Evaluation of the Metrics -- 4.1 Methodology -- 4.2 Hypotheses -- 4.3 Our Findings -- 5 Future Work -- 6 Summary -- References -- Author Index 6 CPN Model Development -- 6.1 Low-Level PN Model -- 6.2 High-Level Timed CPN Model -- 6.3 Adding Id Generator -- 6.4 Quality Evaluation Process -- 6.5 From Deterministic to Stochastic Model -- 6.6 Adding Input Queue -- 6.7 Failed Products Recording -- 7 Conclusion -- References -- Single Assignment C (SAC) -- 1 Introduction -- 2 Language Design -- 2.1 The Scalar Language Core: A Functional Subset of C -- 2.2 Multidimensional Stateless Arrays -- 2.3 With-Loop Array Comprehensions and Reductions -- 2.4 Array Type System -- 3 Programming Methodology: Abstraction and Composition -- 3.1 The Principle of Abstraction -- 3.2 How It Really Works: Rank-Generic Subtraction -- 3.3 Alternatives and Extensions -- 3.4 The Principle of Composition -- 4 Programming Case Study: Convolution -- 4.1 Algorithmic Principle -- 4.2 Iterative Process with Convergence Check -- 4.3 Convolution Step -- 4.4 Rank-Generic Array Rotation -- 4.5 Further Variations of Convolution -- 5 Compilation Technology: Overview and Frontend -- 5.1 SAC Compiler Organisation -- 5.2 Compiler Front End -- 5.3 Type Inference and Function Specialisation -- 6 Architecture-Independent Optimisation -- 6.1 Standard Optimisations -- 6.2 Organisation of the Optimisation Process -- 6.3 Array Optimisations -- 6.4 With-Loop Folding Optimisation -- 6.5 With-Loop Fusion Optimisation -- 6.6 With-Loop Scalarisation Optimisation -- 6.7 Further Array Optimisations -- 7 Lowering Towards Code Generation -- 7.1 Transforming Complex Generator Sets -- 7.2 Index Vector Elimination -- 7.3 Memory Management -- 8 Code Generation -- 8.1 Compiler-Directed Parallelisation for Multi-core Systems -- 8.2 Compiler-Directed Parallelisation for Many-Core GPGPUs -- 8.3 Compiler-Directed Parallelisation for Heterogeneous Systems -- 8.4 Compiler-Directed Parallelisation for the MicroGrid Intro -- Preface -- Contents -- Watch Out for that Tree! A Tutorial on Shortcut Deforestation -- 1 Introduction -- 2 A Gentle Introduction to Haskell -- 3 Shortcut Fusion -- 3.1 Standard Shortcut Fusion -- 3.2 Extended Shortcut Fusion -- 4 Generalized Shortcut Fusion -- 4.1 Data-Types -- 4.2 Fold -- 4.3 The Fold/Build Rule -- 4.4 Fold with Parameters -- 4.5 The Pfold/Buildp Rule -- 4.6 The Higher-Order Pfold/Buildp Rule -- 5 Algol 68 Scope Rules -- 5.1 Calculating a Circular Program -- 5.2 Calculating a Higher-Order Program -- 6 Conclusions -- References -- Functional Reactive Programming in C++ -- 1 Introduction -- 2 Asynchronous Functions -- 2.1 Calls and Callbacks -- 2.2 Signals and Slots -- 2.3 Actor Systems -- 2.4 Problems with These Approaches -- 3 Futures -- 3.1 Futures in C++ -- 3.2 Proper Way of Handling Futures -- 3.3 Continuation Monad -- 3.4 std::future and Similar Types -- 4 Iterators and Algorithms -- 4.1 Accumulate (fold) -- 4.2 Transform (map) -- 4.3 Iterator Types -- 4.4 Composition -- 4.5 Easier Functional Objects Creation -- 5 Ranges -- 5.1 Convenience -- 5.2 Composability -- 5.3 Views -- 5.4 Infinite Views -- 5.5 Actions -- 5.6 Combining Views and Actions -- 5.7 Range Types -- 6 Reactive Streams -- 6.1 Map, or Transform -- 6.2 Forking a Stream -- 6.3 Stateful Function Objects -- 6.4 Stream Filtering -- 6.5 Generating New Stream Events -- 7 Data-Flow Design -- 8 Conclusion -- References -- Immutables in C++: Language Foundation for Functional Programming -- 1 Introduction -- 2 Immutable Elements in C++ -- 2.1 Preprocessor Macros -- 2.2 String Literals -- 2.3 Named Constants -- 2.4 Static Const Members -- 3 Const Correctness -- 3.1 Non-class Types -- 3.2 Constness of Class Types -- 3.3 Mutable -- 3.4 Constant Correctness in STL -- 3.5 Casting Const Away -- 4 Constexpr -- 4.1 Constexpr Functions -- 4.2 Constexpr Objects |
| Title | Central European Functional Programming School |
| URI | http://digital.casalini.it/9783030283469 https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=5926443 http://link.springer.com/10.1007/978-3-030-28346-9 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9783030283469 |
| Volume | 10094 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LT9wwELZ4XODSF6hbShVVHCqhrLJ-JT70UNAihABxAMTN8uRxoV2kJnDor-_4lWS3e2h7iVZR1k5mxjPjeXwm5IiZska3VqRcZVXKAdecoplJZyU0BW2KRromsatreX7HLx7Ew3AmqOsu6WBa_lrbV_I_XMV7yFfbJfsPnO0HxRv4G_mLV-QwXlec37V2JkRmj_uI-hkaqRDbu_F1Vz8c4LZD2vT6w-Iat18vQ-bg-qlzBVnH8XCHuNbHwQDbf4R7wD-DgSvhxCGitbR7ROtlvQsuxgFGZrmVe-ikae2VorRQh8xDi_Za09YkrtXB47ILHC61U8hUDQanLwNE5UEZ2ySbeY4Kafvb_OLyvg-QUZoVKhug3y3SoU8J-Re0jTrxA5iHUho-KOavA4Tw0ovskl3TPqIJQfPStdYfMa2xbahLm4yVvLhzN25fk72hETO56Vn_hmzUi7fkVWRWEpj1jkyDKCRRFJJBFJKRKCReFPbI3dn89vQ8DSdhpGYmhWApBdNIWTPRKKOYAoN-PQPVmFkt8xpYVjWcKwOcApRGlQUUVcWYgKpQ0FRsn2wtnhb1e5JUlEtFJWQS1yjwEipT5gLQEzQlNcVsQj6PqKNfvrukfatH5JVqQg4i0TSuKQ-u3mrBuBXKCUkiHbX7d6gz1vOTU6GsB84m5Eukr_bjR_hsnEczjTNpN5VWH_7-0QOyMyyKj2Sr-_lcH6LP2MGnIF2_AZ8XYjI |
| linkProvider | Library Specific Holdings |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Central+European+Functional+Programming+School&rft.series=Lecture+Notes+in+Computer+Science&rft.date=2019-08-14&rft.pub=Springer+International+Publishing&rft.isbn=9783030283452&rft.issn=0302-9743&rft.eissn=1611-3349&rft.volume=10094&rft_id=info:doi/10.1007%2F978-3-030-28346-9&rft.externalDocID=488233 |
| thumbnail_m | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97830302%2F9783030283469.jpg |
| thumbnail_s | http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fmedia.springernature.com%2Fw306%2Fspringer-static%2Fcover-hires%2Fbook%2F978-3-030-28346-9 |