- 12 Tips to Better Scala
(This is an event co-organized with the budapest.scala group, please use their event page to RSVP: https://www.meetup.com/budapest-scala/events/261288530/) Scala is an unopinionated programming language, having a broad range of generic features that can solve problems in many different ways. With all these choices, many developers wonder what the tradeoffs are between different styles of Scala, even as they work in large Scala code bases written in many conflicting styles. In this presentation, John A. De goes will introduce 12 tips that you can immediately begin implementing in your code base. These tips will make reasoning about your code simpler, make changing your code safer, make testing your code easier, and enable you to scale your Scala application and development team like never before. There is a registration before the event so please arrive accordingly. You are also invited for networking, pizza & beer afterwards.
- FunCPU (Juhász András) and MVU apps in F# (Loïc Denuzière)
Functional Programming in Machine Language on a Homebrew CPU - Juhász András In this talk we outline the motivation, the design goals and the challenges of building a homebrew CPU dedicated to functional programming. (FunCPU is a seven bit homebrew processor with unique, unconventional design to natively support functional programming in machine language. Despite its simplicity FunCPU can be considered a fully fledged computational device, in a sense that it is Turing-complete.) After some short introduction to the homebrew CPU scene and discussion of design goals, the model of computation is presented. It will be shown how expressions and functions are encoded in a native format of a CPU with tagged architecture. It will be also demonstrated how functional programs can be entered directly in machine code in a relatively straightforward manner. Issues and their solutions such as operator/function precedence, function calls, argument passing and binding are also explained. Moreover, the evaluation strategy and termination of expression evaluations are also discussed. Finally, some architectural and implementation details will be also addressed. Blog: https://funcpu.blogspot.hu/p/funcpu-7-bit-homebrew-cpu-designed-to.html Short videos: - on entering simple expressions: https://www.youtube.com/watch?v=zOeZIx2Vs0c on evaluatig simple functions: https://www.youtube.com/watch?v=Cgq83L2COyc&t=2s on evaluating mathematical functions: https://www.youtube.com/watch?v=luKIcU1y5lM Model-View-Update applications in F# with WebSharper - Loïc Denuzière In this talk we present a functional way of structuring user interfaces called Model-View-Update, and discuss how it can be used effectively with the WebSharper tools for F#. MVU has recently been the base architecture for a number of hyped languages and libraries such as Elm and Redux. It provides a clear separation of concerns between state management and display. It enables powerful tools such as full state inspection and time-travelling debugging. We will discuss the core concepts of MVU, and how WebSharper's approach differs from existing libraries and takes advantage of the functional reactive library WebSharper.UI.
- Kathleen Dollard and Kevlin Henney with us! (CRAFT Ed.)
Join Kathleen Dollard and Kevlin Henney for a dive into using Functional Principles in traditionally imperative and Object Oriented languages like C#. We'll look at specific techniques and have lots of times for discussion. Kathleen loves to code and loves to teach and talk about code. She’s written tons of articles, a book, and spoken at numerous conferences around the world. She’s on the .NET Team at Microsoft, where she works on the .NET Core CLI and SDK. If you’re not sure what all those acronyms mean… just ask her. She’s always ready to help developers take the next step in exploring the wonderful world we call code! Kevlin Henney is an independent consultant, speaker, writer and trainer. His development interests are in patterns, programming, practice and process. He has been a columnist for a number of magazines and sites, has contributed to both open- and closed-source software (sometimes unintentionally), and has been on far too many committees (it has been said that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"). He is coauthor of A Pattern Language for Distributed Computing (https://www.amazon.com/Pattern-Oriented-Software-Architecture-Distributed-Computing/dp/0470059028) and On Patterns and Pattern Languages (https://www.amazon.com/Pattern-Oriented-Software-Architecture-Languages/dp/0471486485), two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know (https://www.amazon.com/Things-Every-Programmer-Should-Know/dp/0596809484).
- Task Oriented Programming - Rinus Plasmeijer
Task Oriented Programming with Rinus Plasmeijer In this talk we present a new style of functional programming, called Task Oriented Programming (TOP). TOP is specially designed to support the development of distributed multi-user, multi-platform, web-based applications. Special about TOP is that is allows programmers to focus on the tasks the application has to support, without worrying about the technical details needed for the realization. One specifies, on a very high level of abstraction, the tasks to be performed, their interrelations, who may work on it, as well as the data dependencies between the tasks. From such a specification, a distributed client-server system is generated. Servers coordinate the work thus described. Web-clients and apps are generated with appropriate user interfaces for doing the work. All data communication and synchronization between the parties involved is handled automatically. The iTask system is an implementation of TOP. It offers TOP as an Embedded Domain Specific Language embedded in the pure Haskell-like functional language Clean. From one source code, code for servers, clients, browsers, apps, and the Internet of Things are generated. Application areas we are working on are: Command and Control systems for the Dutch Navy, Search and Rescue support and Situation Alerts for the Dutch Coast Guard, Home Care Systems, and Tax Office applications. Rinus Plasmeijer started his PhD in Computer Science in 1977 in Nijmegen , and when he graduated in 1981 he helped to start the Computer Science department and studies at this university. He became full professor in Software Technology at the Radboud University Nijmegen in 1995. Plasmeijer is one of the pioneers in the research on Functional Programming and published over 300 papers in this area. He is the chief designer of Clean, a Haskell-like pure functional programming language well known from its special features, such as uniqueness typing, and the excellent code generated by the compiler. In 2008 he became Doctor and Professor Honoris Causa at the Eötvös Loránd University in Hungary. His current interest is Task Oriented Programming, a special flavour of Functional Programming for developing distributed multi-user systems on a very high level of abstraction. Venue, pizza and bevarages are sponsored by GMG Hungary.
- A Purely Functional OS for Websites by Tibor Halter
A Purely Functional OS for Websites by Tibor Halter The talk is about applying functional programming principles in the design of a simple application platform for the Web: a Website OS, called Boomla. It is functional as in the architecture, not the language. For example, the filesystem is functional, which means it's an argument of programs, and upon exiting, a new filesystem is returned. It's programmed in JS, which is executed in sandboxed VMs, thus we can abstract away their imperative nature. We will cover theory and look at practical examples. Venue, pizza and bevarages are sponsored by GMG Hungary.
- Typed Self-Evaluation via Intensional Type Functions, Brown&Palsberg -Erdi Gergo
Gergő will be presenting Brown & Palsberg's paper from POPL 2017: "Typed Self-Evaluation via Intensional Type Functions" We can easily make a typed representation for STLC in Haskell, and then write an evaluator over that representation. But can we write that in STLC? Or can we write it in Haskell, but for Haskell itself? This paper is in some sense a sequel to last year's "Breaking Through the Normalization Barrier" by the same authors; that one was about self-unquoting of the form unquote : Exp t -> t This one is about self-reduction of the form reduce : Exp t -> Exp t (with the result encoding a normal form) In both cases, the question we are interested in is, can we arrange for the host and the target language to coincide? Article: http://compiler.cs.ucla.edu/popl17/popl17-full.pdf This meetup is co-organized with Papers We Love https://www.meetup.com/Papers-We-Love-Budapest/ (https://www.meetup.com/Papers-We-Love-Budapest/)) and Budapest Haskell UG https://www.meetup.com/Bp-HUG/ (https://www.meetup.com/Bp-HUG/)) and hosted/sponsored by EPAM.
- Nyári Fejlesztői Akadémia 2017 - F#, WebSharper
Regisztráció: https://www.meetup.com/Nyari-Fejleszt%C5%91i-Akademia-2017/events/242347146/ Funkcionális programozás F#-ban, Gránicz Ádám Mi is az a funkcionális programozás, milyen előnyöket nyújt, és miért lett annyira népszerű az utóbbi években? Ebben az előadásban ezekre és más fontos kérdésekre keressük a válaszokat, miközben bemutatjuk az F# nyelvet és annak alappilléreit, néhány fontos könyvtárát, és a .NET fejlesztés új generációjat egy sor rövid példán keresztül. Hajrá FP! Funkcionális, reaktív webes fejlesztés WebSharper-rel, Gránicz Ádám Ugyanazon a nyelven írni kliens és szerver oldali kódot manapság már nem igen számít különlegesnek, de kombinálni ezt funkcionális és reaktív programozással máris igencsak érdekes és hasznos témákat vet fel. Ezekbe nézünk bele ebben az előadásban, és ismerkedünk meg közelebbről az egyik legelterjedtebb funkcionális, reaktív webes keretrendszerrel: a WebSharper-rel.
- Digital Asset: Smart Contract and FP
Interactive Functional Programming Workshop (Haskell and Scala) - Save the date! RSVP at the following link: http://hub.digitalasset.com/events/budapest/meetups Agenda • Context setting, domain introduction: Smart Contracts, DLT, Fintech - Tamas Blummer • Engineering at Digital Asset - Shaul Kfir • Technical demonstration of a Haskell based research to functional Scala implementation - Tamas Bartfai, Gyorgy Farkas • Technical discussion, Q&A • Networking with beer and pizza About the speakers Shaul KFIR, CTO of Digital Asset Shaul is a software engineer with a background in research cryptography at SCIPR cryptography lab and a visiting scientist at MIT CSAIL, where he gained extensive experience implementing cryptographic protocols in the field of Zero Knowledge Proofs and Computational Privacy and Integrity. He served as CTO for two previous startups in Tel Aviv. Prior to his involvement in cryptography, Shaul served as a Lieutenant Commander in the Israeli Navy, leading diverse technical teams across challenging environments. Tamas BLUMMER, Chief Ledger Architect Tamás is the Chief Ledger Architect at Digital Asset Holdings. Tamás has 28 years of software development experience for financial institutions including Deutsche Bank and Morgan Stanley. He founded Bits of Proof, which was acquired by Digital Asset in 2015. Bits of Proof launched the first enterprise ready implementation of the blockchain technology in 2013, built the first real-time audit-able exchange for institutional investors, the backend of the first hardware wallet for Bitcoin and the Bitcoin mining control software at CoinTerra in 2014. Tamas BARTFAI, Senior Software Developer Tamás has almost 20 years of experience in the field of software development. He was working for small startups and large multinational corporations as well. He was the principal developer of Bits of Proof, the Hungarian bitcoin startup. He joined Digital Asset as senior software developer in April 2015, after the acquisition of BoP.
- Functional Programming - Craft Edition 2017
Venue opens gates at 5:30 pm, and Rob's talk about Swift starts at 6 pm. We'll have a second talk presented by Adam Granicz about F# web abstractions, then we'll have time for some friendly discussions, networking, drinks and bevarages. Hope to see a lot of you! Rob Allen: Swift on the Server Apple's Swift programming language is now interesting with Swift 3 as it is Open Source and runs on Linux. It has been used to write apps for iOS and macOS for years and is now in production on the sever. Why are people interested in Swift? Primarily because it's modern, fast, concise, strictly typed with clean, readable syntax. With key features such as Optionals and an immutable-by-default philosophy, Swift is perfect for server-side APIs. This session will introduce you to Swift, how it works on the server and show you to build HTTP APIs that can be deployed to the cloud.
- Kx: How Wall Street Tech can Speed up the World