confengine.com
Open in
urlscan Pro
2a06:98c1:3120::7
Public Scan
Submitted URL: https://t.gistmail1.com/c/lLViTuwDA1yJGlipqchZnHnNn838cuw3/click?signature=7ddfab9d9cb99d93315beab8e70ba46086e1ea94&url=...
Effective URL: https://confengine.com/conferences/functional-conf-2022/proposal/16340/the-essence-of-functional-programming?cf_id=NvVG...
Submission: On February 24 via api from US — Scanned from DE
Effective URL: https://confengine.com/conferences/functional-conf-2022/proposal/16340/the-essence-of-functional-programming?cf_id=NvVG...
Submission: On February 24 via api from US — Scanned from DE
Form analysis
2 forms found in the DOMPOST
<form id="waitlistForm" action="" method="post" class="form-horizontal" align="left">
<input type="hidden" id="waitlist_entity_id" name="waitlist_entity_id" value="">
<h4 style="text-align: left" id="waitlist_modal_title"></h4>
<div class="card padding-lr-2 padding-bottom-2">
<div class="col xs12 m6 margin-top-2">
<div class="col xs12">
<h5>Name<sup class="red-text">*</sup></h5>
</div>
<div class="col xs12">
<input type="text" name="inputName" id="inputName" placeholder="Name" value="" required="">
</div>
<div class="clearfix"></div>
</div>
<div class="col xs12 m6 margin-top-2">
<div class="col xs12">
<h5>Email Address<sup class="red-text">*</sup></h5>
</div>
<div class="col xs12">
<input type="email" name="inputEmail" id="inputEmail" placeholder="Email Address" value="" required="">
</div>
<div class="clearfix"></div>
</div>
<div class="clearfix"></div>
<div class="col xs12 m6 margin-top-2">
<div class="col xs12">
<h5>Phone Number<sup class="red-text">*</sup></h5>
</div>
<div class="col xs12">
<input type="text" name="inputPhone" id="inputPhone" placeholder="Your Phone Number" value="" maxlength="14" required="">
</div>
</div>
<div class="col xs12 m6 margin-top-2">
<div class="col xs12">
<h5>City<sup class="red-text">*</sup></h5>
</div>
<div class="col xs12">
<input type="text" name="inputCity" id="inputCity" placeholder="City" value="" required="">
</div>
</div>
<div class="clearfix"></div>
</div>
<div class="modal-footer">
<button id="cancel_waitlist_btn" class="btn-flat orange-text">Cancel</button>
<button id="save_waitlist_btn" class="btn waves-effect waves-light success">Sign Up</button>
</div>
</form>
POST
<form id="userQuestionForm" method="post" class="form-horizontal">
<div class="control-group">
<div class="margin-2">
<h5>Need help? Send us a message...</h5>
</div>
<div>
<textarea id="inputFAQUserQuestion" name="inputFAQUserQuestion" class="skip-tinymce" placeholder="Give feedback or ask for help" required="" minlength="3" rows="5" style="height: initial;"></textarea>
</div>
<div class="clearfix"></div>
<div class="col xs12 m6 margin-top-2">
<h5 class="no-margin">Name</h5>
<div id="input_user_name_div">
<input type="text" id="inputFAQUserName" required="" value="" placeholder="Enter your name here" maxlength="100" minlength="3">
</div>
</div>
<div class="col xs12 m6 margin-top-2">
<h5 class="no-margin">Email</h5>
<div id="input_email_div">
<input type="email" id="inputFAQUserEmail" required="" value="" placeholder="Enter your email here" maxlength="100" minlength="3">
</div>
</div>
<div class="col xs12 margin-2 center">
<button id="save_question_btn" class="btn waves-effect waves-light success margin-left" type="submit">
<i class="material-icons notranslate va-top">send</i> Send <img class="hide middle" id="spinner" src="/static/assets/img/spin-green-0915957822.gif" alt="Spinner">
</button>
</div>
</div>
</form>
Text Content
Cookie Policy This website uses cookies to give you a seamless experience. Learn more Got it! menu Keynote Details * 0 Cart arrow_drop_down * No items in cart person Login * Functional Conf 2022 * * language PROGRAM arrow_drop_down * storage Submissions * date_range Schedule * speaker_notes Interviews * video_library Videos * add_shopping_cart REGISTER * local_play SPONSORS * chat MINGLE 0 * face PEOPLE arrow_drop_down * record_voice_over Speakers * people_outline Program Committee * group_work Attendees * view_list Leaderboard * feedback SURVEYS * explore ABOUT arrow_drop_down * description Info * update Activity Log * show_chart Statistics * timer Timeline * * person Login * subtitles My Passes * subtitles Account Balance * pages My Profile * developer_board My Events * assignment My Proposals * visibility My Watchlist * local_play My Sponsorships * notifications Notifications * * power_settings_new Logout NAME* EMAIL ADDRESS* PHONE NUMBER* CITY* Cancel Sign Up THE ESSENCE OF FUNCTIONAL PROGRAMMING favorite_border 3 fp-bootcamp Invited Keynote 45 Mins Beginner origins-of-fp functional-programming Richard Feldman Head of Technology NoRedInk location_city Online schedule Mar 25th 09:00 - 09:45 AM IST place Zoom people 2 Interested This talk dives into the origins of functional programming, going all the way back to where the term was first introduced, to see how it evolved over time into our modern understanding of what FP essentially involves. 0 comments visibility_off Remove from Watchlist visibility Add to Watchlist * * * * TARGET AUDIENCE Functional programming community SCHEDULE SUBMITTED 4 WEEKS AGO PUBLIC FEEDBACK Posting as Guest to_be_replaced_with_text_area Private Message (Only visible to Program Team) add Add cancel Cancel comment Suggest improvements to the Author * PEOPLE WHO LIKED THIS PROPOSAL, ALSO LIKED: * keyboard_arrow_down DEAN WAMPLER - LESSONS LEARNED FROM 15 YEARS OF SCALA IN THE WILD favorite_border 3 applying-fp Accepted Keynote 45 Mins Advanced scala lessons-learned Dean Wampler Director of Engineering IBM Research SCHEDULE 1 MONTH AGO Sold Out! 45 MINS KEYNOTE ADVANCED Scala 3 was introduced last year. It introduced significant changes to the language, many of which were motivated by the lessons learned from the past 15 or so years of actual use in many open-source and commercial applications. I'll explore these lessons and how Scala 3 addresses them. Many revolve around the pros and cons of implicits. Also, changes to the type system make it more "regular", robust, and expressive. Finally, the new, optional, and controversial "Python-like" syntax promotes even more brevity. It also acknowledges how influential and pervasive Python has become across our industry. But there are many practical areas where future work is required, many of which are larger than the scope of Scala itself. We still live in "dependency hell". We still use too many obsolete idioms that hide accidental complexity, rather than forcing us to fix it. What should we do about these issues? 0 comments * * * * View Details play_arrow * keyboard_arrow_down BARTOSZ MILEWSKI - TEACHING OPTICS THROUGH CONSPIRACY THEORIES favorite_border 5 mastering-fp Accepted Keynote 45 Mins Advanced lenses prisms Bartosz Milewski Math Evangelist Programming Cafe SCHEDULE 1 MONTH AGO Sold Out! 45 MINS KEYNOTE ADVANCED With polymorphic functions you can often tell how they are implemented by looking at their outputs. The more polymorphic the function, the more you can tell about its internal workings. Lenses, as well as more general optics, have convenient polymorphic implementations in terms of functors and profunctors. But under layers of abstractions they are hiding some simple truths. We are going to get to the bottom of this conspiracy. 0 comments * * * * View Details play_arrow * keyboard_arrow_down MAGDA STOŻEK - PROPERTY-BASED TESTING - LET YOUR TESTING LIBRARY WORK FOR YOU favorite_border 3 applying-fp Invited Talk 45 Mins Beginner property-based-testing Magda Stożek Software Developer SoftwareMill SCHEDULE 1 MONTH AGO Sold Out! 45 MINS TALK BEGINNER Don't ask what you can do for your testing library, ask what it can do for you! So what can it do? It turns out that much more than displaying a nice green and red report. What if we make the library generate the test data? And while we're at it, maybe it could also think of the edge cases for which our code is wrong? Oh, and when it finds them, it should simplify them a bit before returning to us, so that we can quickly identify the root cause of the problem. And repeat that a thousand times, just to be sure. Sounds good? That's exactly what property-based testing has to offer. I'll show how to get started with this kind of testing, using jqwik (https://jqwik.net/) as an example. But isn't it all too good to be true, surely there's some fine print? Of course there is. I'll cover that as well. 0 comments * * * * View Details play_arrow * keyboard_arrow_down MICHAEL SNOYMAN - FP IS THE NEW OOP favorite_border 3 applying-fp Invited Talk 45 Mins Intermediate functional-programming oop fp object-oriented-programming Michael Snoyman VP, Engineering FP Complete SCHEDULE 1 MONTH AGO Sold Out! 45 MINS TALK INTERMEDIATE Many of us in the functional programming community believe that FP is a significant improvement over object oriented programming, arguably the dominant programming paradigm today. That of course begs the question: how did an inferior paradigm grab so much mindshare and market share and rise to prominence? I'm going to tell the story a bit differently, exploring a different take on the strengths of OOP, and how that affects those of us who advocate for functional programming. 0 comments * * * * View Details play_arrow * keyboard_arrow_down MEY BEISARON - MULTIPLAYER ONLINE GAME IN CLOJURE: ATTACK OF THE CLONES favorite_border 3 applying-fp Invited Demonstration 45 Mins Beginner clojure online-gaming Mey Beisaron Software Engineer, Backend Developer Forter SCHEDULE 1 WEEK AGO Sold Out! 45 MINS DEMONSTRATION BEGINNER When I say "Multiplayer online game development in Clojure" 2 questions probably pop right up : WHY? HOW? Why? because you can do it in under 100 lines of code, and it is pure FUN. How? Well that's exactly what we'll talk about in this session. I will present a simple MOG written in Clojure and go through each line of code - so you'll understand how you can do that yourself, even if you've never written a single line of Clojure before. Whether you’re a real Clojurian at heart or just interested in hearing a talk about Clojure from a sworn star wars fan - this talk is for you :) 0 comments * * * * View Details play_arrow * keyboard_arrow_down PHILLIP CARTER - 5 YEARS OF TRYING TO GET PEOPLE TO USE AN FP LANGUAGE favorite_border 2 applying-fp Invited Case Study 45 Mins Beginner fsharp adoption-of-fp Phillip Carter Senior Product Manager Honeycomb SCHEDULE 3 WEEKS AGO Sold Out! 45 MINS CASE STUDY BEGINNER At Microsoft, Phillip worked on the F# language and tools from 2016 to 2021. In this talk, Phillip will recount the various strategies he and his team used to try and increase adoption of F#, and by extension, FP as a whole. Over this period of time, the F# language evolved and grew its user base substantially. Lots of experiments to increase adoption were tried, such as pivoting to data science, and most failed ... but some succeeded, hinting at some paths to adoption for FP that don't just involve a more mainstream language appropriating FP features. If you're interested in storytelling, learning about fun ways things failed, and curious about some things that succeeded in increasing adoption, check out this talk! 0 comments * * * * View Details play_arrow * keyboard_arrow_down NIKHIL BARTHWAL - IMPLEMENTING EVENT-DRIVEN MICROSERVICES ARCHITECTURE IN FUNCTIONAL LANGUAGE favorite_border 1 applying-fp Invited Tutorial 45 Mins Intermediate fsharp domain-driven-design algebraic-types microservices distributed-systems software-archietcture Nikhil Barthwal Software Engineer & Startup mentor SCHEDULE 3 WEEKS AGO Sold Out! 45 MINS TUTORIAL INTERMEDIATE Web services are typically stateless entities, that need to operate at scale at large. Functional paradigm can be used to model these web services work and offer several benefits like scalability, productivity, and correctness. This talk describes how to implement Event-Driven Microservices in functional programming languages with examples in F#. Immutability allows infinite scalability as it eliminates the need to worry about a mutex, a lock, or a race. As functional code is much more terse compared to object-oriented code, it provides productivity benefits. Its strict typing makes writing correct code easy as mismatches of types are caught at compile time. The objective of the talk is to show how to create a scalable & highly distributed web service in F#, and demonstrate how various characteristics of functional paradigm captures the behavior of such services architecture very naturally. 0 comments * * * * View Details play_arrow * keyboard_arrow_down JED WESLEY-SMITH - NAMES ARE OVERRATED favorite_border 4 applying-fp Invited Talk 20 Mins Beginner philosphy-of-programming fp names naming strong-types type-driven-programming types type Jed Wesley-Smith Director of Engineering Simple Machines SCHEDULE 1 MONTH AGO Sold Out! 20 MINS TALK BEGINNER Some people even say names don't matter. While it is widely held that good naming is one of the most important aspects of programming, is there such a thing as an objectively good name? As part of a discussion of the philosophy of programming, we'll look at what are the real aims of naming things well, and what considerations we should have in mind when discussing them. We'll have a look at alternatives and what they bring that names do not. 0 comments * * * * View Details play_arrow * keyboard_arrow_down BEN EVANS - DO WE REALLY DO FP IN JAVA? favorite_border 3 applying-fp Accepted Talk 45 Mins Beginner jvm language_design Ben Evans Senior Principal Engineer Red Hat SCHEDULE 1 MONTH AGO Sold Out! 45 MINS TALK BEGINNER Many Java developers believe that FP arrived in Java 8, with the addition of first-class lambda expressions and the Streams API. But is this really true? In this talk, Ben Evans will talk about what FP really is, examine whether Java can really be said to be FP or not - and consider whether things have improved with more recent versions, as well as some possibilities of how we could have done things differently (in another world). 0 comments * * * * View Details play_arrow * keyboard_arrow_down DHANANJAY NENE - SNIPPETS FROM AN ALGORITHMIC TRADING SYSTEM IN KOTLIN favorite_border 3 applying-fp Accepted Talk 45 Mins Intermediate basic_concurrency trading kotlin Dhananjay Nene Programmer on a break, Financial Markets Trader Dhananjay Nene SCHEDULE 1 MONTH AGO Sold Out! 45 MINS TALK INTERMEDIATE This talk will introduce the audience to algorithmic trading, the design of an algorithmic trading system, and various snippets written in Kotlin that fulfil specific tasks that collectively contribute towards a full trading system. The rough sketch will be as follows 0 comments * * * * View Details play_arrow * keyboard_arrow_down DEBASISH GHOSH - FUNCTIONAL PROGRAMMING PATTERNS FOR DESIGNING MODULAR ABSTRACTIONS favorite_border 3 applying-fp Accepted Talk 45 Mins Intermediate domain-modeling scala haskell Debasish Ghosh Principal Software Engineer LeadIQ SCHEDULE 1 MONTH AGO Sold Out! 45 MINS TALK INTERMEDIATE The biggest power of functional programming comes from the ability to treat functions as first class objects and the power to compose them incrementally to evolve larger functions out of smaller ones. Designing such functions as referentially transparent enables us to treat functions in programming just like functions in mathematics - side-effects are carefully abstracted through “effects” and delayed till the algebra of our program gets submitted to the run time system. In this talk I will discuss a few idioms and patterns on how using the power of composition can lead to development of modular abstractions. Instead of committing to an implementation prematurely we can define abstractions that focus on “what” it does deferring the “how” part to later stages of the lifecycle. In functional programming terminology we call the “what” part the algebra of our abstraction, and the “how” part the interpreter. Decoupling the two is one of the basic recommendations in functional programming. I will use Haskell and Scala for the examples. I will discuss common functionalities that we use everyday in programming our domain models like validations, database interactions, managing exceptions, talking to external services etc. and show how to use the power of typed functional programming to make them more compositional. 0 comments * * * * View Details play_arrow * keyboard_arrow_down GOPAL S AKSHINTALA - FIGHT COMPLEXITY WITH FUNCTIONAL PROGRAMMING favorite_border 4 applying-fp Demonstration 45 Mins Intermediate design-patterns Gopal S Akshintala Senior Member of Technical Staff Salesforce SCHEDULE 5 MONTHS AGO Sold Out! 45 MINS DEMONSTRATION INTERMEDIATE A Metric-driven approach to reduce Cognitive Complexity in a code base, using Functional Programming, demoed **hands-on**, by solving a complex real-world ubiquitous design challenge - REST API Bulk Request Validation, with an extensible Framework that separates what-to-do (Validations) from how-to-do (Validation Orchestration). Let's do a case study of a successful implementation done by our team in the world's largest SaaS org, _Salesforce_, through our in-house baked FOSS library **Vader**. 3 comments * * * * View Details play_arrow * keyboard_arrow_down SIDDHARTH KULKARNI - FUNDAMENTALS OF FUNCTIONAL PROGRAMMING favorite_border 2 applying-fp Talk 45 Mins Beginner Siddharth Kulkarni Software Developer ThoughtWorks SCHEDULE 5 MONTHS AGO Sold Out! 45 MINS TALK BEGINNER You must have heard people talk about Functional programming whilst you nod apprehensively, and how cool people do functional programming. You must have heard people talk about functional purity and imperative blasphemy. But what exactly does functional programming entail? Why is it making a comeback? This talk is aimed at providing an objective and practical view of what FP can and cannot do, and how it's nothing to be scared of, what languages support functional style and how it can help alleviate some common programming problems. 2 comments * * * * View Details play_arrow * keyboard_arrow_down AKSHAY KUMAR ARUMUGASAMY / CHRISTOPHER ANAND - TEACHING FUNCTIONAL PROGRAMMING TO CHILDREN favorite_border 11 applying-fp Talk 20 Mins Beginner teaching kids elm math Akshay Kumar Arumugasamy Master's Student McMaster University Christopher Anand Associate Professor McMaster University SCHEDULE 1 MONTH AGO Sold Out! 20 MINS TALK BEGINNER Is functional programming for experts? We have found that children learning programming also benefit! Over the last 5 years, we have taught 25K children through the McMaster University’s outreach program McMaster Start Coding (Canada), and started training undergraduates from peer institutions, including Vellore Institute of Technology, Cihan University (Kurdistan), and Narasu’s Sarathy Institute of Technology (India), so that they they can create their own programs. Our main motivation for teaching functional programming to children is the similarity between algebra and functional programming. Algebra is a barrier to secondary and postsecondary education, and helping children overcome this barrier can have a huge impact. We continued to develop our program because both children and teachers loved it. Children find it easy to learn about functions when the functions draw shapes on their screen using a compositional language they find easy to learn. Teachers love it, because children immediately understand concepts including Cartesian coordinates which are difficult to motivate for some. In this talk we will explain the design philosophy behind our open-source graphics library GraphicSVG for Elm, and why we think Elm (with pure functions, and well-typed standard library) is the best language to teach 10- to 14-year olds. We will give you a toolkit for advocating functional programming in your local schools, and show what children can create, including children from Vikas School in Hyderabad who were isolating at home with only a smartphone to learn programming on. 0 comments * * * * View Details play_arrow * keyboard_arrow_down ALEXANDER GRANIN - TYPE-LEVEL DOMAIN-SPECIFIC LANGUAGES favorite_border 4 mastering-fp Talk 45 Mins Advanced Alexander Granin Haskell Consultant IE Granin A.S. SCHEDULE 5 MONTHS AGO Sold Out! 45 MINS TALK ADVANCED Haskell is known for its cutting-edge type system. All the major developments of the language are related to types today: Linear Types, Dependent Types, deep type-level features for enhancing ADTs. The language has taken the path of a trendsetter in this field, and many other languages derive their ideas bit by bit. What else Haskell is known for is the lack of understanding of how to use these complicated features in practice. What real tasks the type-level Haskell solves better than usual approaches. How to apply this rich world to day-to-day work. And what are the drawbacks of this type-level fanciness? My talk continues developing the methodology of pragmatic Haskell that I call Functional Declarative Design as I first introduced it in my book Functional Design and Architecture. I’ll present a couple of ways to build useful type-level eDSLs and will show the use cases of many important type features of the language. This is not just my voluntary exploration of the depths of Haskell, but rather a practical material one can take and solve own problems with the full understanding of the consequences. This will be a part of the material I’m preparing for my second book, Pragmatic Type-Level Design. 2 comments * * * * View Details play_arrow * keyboard_arrow_down ARUN MADHAVAN GOVINDARAJAN / HARIPRIYAN - VIEWING OBJECTIVELY - HOW OO PATTERNS LED US TO BETTER FP ADOPTION favorite_border 2 applying-fp Demonstration 45 Mins Beginner Arun Madhavan Govindarajan Solution Architect Ford Haripriyan Software Engineer Ford SCHEDULE 4 MONTHS AGO Sold Out! 45 MINS DEMONSTRATION BEGINNER How do we start introducing functional constructs into a OOPs heavy project, without overwhelming the other developers? In our attempt to drive functional programming adoption, we tried to show how the existing OO patterns in the project and are inherently subsumed in a functional paradigm. This helped to make the concepts relatable and in due course increased adoption. Here we want to share our learning and show how most popular OO patterns can be expressed in a functional way. 1 comment * * * * View Details play_arrow FUNCTIONAL CONF 2022 Online Thu, 24th - Sat, 26th Mar 2022 email Contact Us RECENT ACTIVITIES * description Naresh Jain updated proposal The Essence of... 2 Timesschedule 3 weeks ago * description Richard Feldman updated proposal The Essence of...schedule 4 weeks ago * record_voice_over Natasha Rodrigues added an invited session The Essence of...schedule 4 weeks ago * View All play_arrow CALL FOR PROPOSALS CLOSED ENDED ON JAN 15 '22 11:59 PM IST SPEAKER COMPENSATION CONFIRMATION_NUMBERFREE CONFERENCE PASS INFO_OUTLINE VERIFIED_USERBRAGGING RIGHTS INFO_OUTLINE THEATERSSESSION RECORDING INFO_OUTLINE SUPERVISOR_ACCOUNTSPEAKER SHEPHERDING INFO_OUTLINE ACTIVE MEMBERS * Natasha Rodrigues * Debasish Ghosh * Naresh Jain * Gopal S Akshintala * Nikhil Barthwal CARD_MEMBERSHIPPOINTS SYSTEM YOU EARN 30 BONUS POINTS ON YOUR FIRST ACTIVITY ON EVERY NEW CONFERENCE. PROPOSALS * You earn 1 point when others like your proposal. * You spend 1 point when you like others' proposal. * You spend 10 points when you propose a session. * You earn 100 points when your proposal is selected. PRO-TIP * Encourage your Colleagues and Friends to like your proposal to increase its score. * You should consider sharing your proposal on popular Social Networks. Note: Popularity of Proposals and Speakers is measured by the number of associated points. VIRTUAL CONFERENCE * You earn 5 points when you visit a Booth page for the first time. * You earn 10 points when you ask a question on a Booth page for the first time. * You earn 5 points when you add a session to 'My Schedule' on the Schedule page. * You earn 5 points when you rate a session. There is an extra 10 points if you provide feedback along with your rating. * You earn 10 points when you fill up a survey. help cancel search Sorry, no FAQs found matching your search criteria FREQUENTLY ASKED QUESTIONS FETCHING ... NEED HELP? SEND US A MESSAGE... NAME EMAIL send Send HOT TIP Need help? Visit our User Guide. © 2022 Powered by ConfEngine | Terms & Conditions | Privacy Policy Full Access Conference Pass Brag that you presented at Functional Conf 2021 Share your session recording with others Get expert advise on your presentation