BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//HasGeek//NONSGML Funnel//EN
DESCRIPTION:On theory and practice of PureScript
X-WR-CALDESC:On theory and practice of PureScript
NAME:PureConf
X-WR-CALNAME:PureConf
REFRESH-INTERVAL;VALUE=DURATION:PT12H
SUMMARY:PureConf
TIMEZONE-ID:Asia/Kolkata
X-PUBLISHED-TTL:PT12H
X-WR-TIMEZONE:Asia/Kolkata
BEGIN:VEVENT
SUMMARY:Introduction
DTSTART:20220218T063000Z
DTEND:20220218T064000Z
DTSTAMP:20260421T100038Z
UID:session/LfC3JUnWueeywUuY8pVpe3@hasgeek.com
SEQUENCE:2
CREATED:20220212T011601Z
LAST-MODIFIED:20220212T012815Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Introduction in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Using Monad Transformers without understanding them
DTSTART:20220218T064000Z
DTEND:20220218T072000Z
DTSTAMP:20260421T100038Z
UID:session/JAFRaaAiVQBaBfVX3Yuruv@hasgeek.com
SEQUENCE:6
CREATED:20220212T011726Z
DESCRIPTION:\n\nDo you understand Monads and “do notation\,” but still
  do not understand Monad Transformers? Do you want to use a framework or l
 ibrary\, but it has been scaring you off because it uses a monad transform
 er? Then this talk is for you.\n\nThis talk answers two questions:\n- what
  problem do monad transformers solve?\n- how do I use monad transformers t
 o solve that problem?\n\nThis talk will\n- show examples of common monad t
 ransformers and their equivalent “untransformed” versions\n- show how 
 to “sugar” a concrete type into a monad transformer\n- explain why the
  order of monad transformers matter\n- show how to write programs using mo
 nad transformers and their corresponding type classes\n\nThis talk will no
 t explain why monad transformers actually work. But\, it will be easier fo
 r you to learn why they work after watching this talk.\n\nBy the end of th
 is talk\, you will\n- understand when to use transformers\n- be able to us
 e ExceptT\, ReaderT\, and StateT\n- have an intuition for how “Tagless F
 inal” works\n
LAST-MODIFIED:20230108T103046Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Using Monad Transformers without understanding them in 5 minut
 es
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Monadic Parsers at the Input Boundary
DTSTART:20220218T072000Z
DTEND:20220218T080000Z
DTSTAMP:20260421T100038Z
UID:session/W7Hvh68RGtuyZQ7qttTq4z@hasgeek.com
SEQUENCE:7
CREATED:20220212T012018Z
DESCRIPTION:\n\nWhen reading a byte stream over the process I/O boundary\,
  the first thing which everyone should do is to parse the byte stream with
  a monadic parser.\n\nThe talk will discuss\n\n    Processes and input byt
 e streams.\n    Monadic parsers. What they are and why they matter.\n    T
 he design and use of the purescript-parsing library.\n    How to use monad
 ic parsers instead of regular expressions with the purescript-parsing-repl
 ace library.\n    When not to use monadic parsers.\n\nThis talk is intende
 d for an audience who has some familiarity with monads and regular express
 ions. This talk is inspired and informed by the essay Parse\, don’t vali
 date by Alexis King.\n\nSlides and script: https://github.com/jamesdbrock/
 monadic-parsers-at-input-boundary\n
LAST-MODIFIED:20230108T103046Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Monadic Parsers at the Input Boundary in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:The Hills Are Alive With the Sound of Comonads
DTSTART:20220218T080000Z
DTEND:20220218T084000Z
DTSTAMP:20260421T100038Z
UID:session/My1ZWcXsAbk8QarnQwuoWb@hasgeek.com
SEQUENCE:9
CREATED:20220212T012108Z
DESCRIPTION:\n\nComonads famously project computations into future context
 s. But what if the future is uncertain? What if\, like in Demolition Man\,
  the computation wakes up in a hostile\, dystopian 2032? Instead\, we’d 
 like the computation to wake up in a place more like Encino Man\, or at le
 ast An American Pickle.\n\nThis was the starting point for purescript-wags
 \, a web audio engine that projects future audio states onto the mutable a
 nd referentially opaque Web Audio API. In this talk\, I’ll show how exis
 tential types can be used inside of cofree comonads to add a modicum of ty
 pe safety to a mutable-state model\, and I’ll also show how linear types
  can be grafted onto comonads as a zero-cost abstraction to tame the volat
 ile Web Audio API.\n\nAt the end\, I’ll show how this facilitates the re
 ndering of complex audio graphs in a sub-fifteen-millisecond deadline\, al
 lowing for low-latency MIDI and audio applications in the browser like htt
 ps://wags.fm/\, https://whatis.wags.fm/ and https://yap.wags.fm/.\n
LAST-MODIFIED:20230108T103046Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:The Hills Are Alive With the Sound of Comonads in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Break
DTSTART:20220218T084000Z
DTEND:20220218T084500Z
DTSTAMP:20260421T100038Z
UID:session/Ks5j3bdsxModD6jnjcFw53@hasgeek.com
SEQUENCE:3
CREATED:20220212T012155Z
LAST-MODIFIED:20220212T171027Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Break in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Asynchronous JavaScript & PureScript for Haskellers
DTSTART:20220218T084500Z
DTEND:20220218T093000Z
DTSTAMP:20260421T100038Z
UID:session/NaCyvc8S3HyE8JpyVKnUav@hasgeek.com
SEQUENCE:14
CREATED:20220212T012234Z
DESCRIPTION:n this introductory talk\, we will look at Asynchronous progra
 mming primitives in JavaScript and PureScript from first principles\, as w
 ell as how Purescript creates structure and principled approaches to async
 hronous programming.\n\ntopics to include:\n- Event listeners and observab
 le changes on the DOM and Backend\n- Callbacks\, Promises\, Async/Await\n-
  Purescript approaches: Continuations\, the Aff Monad\, and Fibers\n- How 
 JS asynchronous execution works (the Event Loop)
LAST-MODIFIED:20230108T103046Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Asynchronous JavaScript & PureScript for Haskellers in 5 minut
 es
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Taming the stack
DTSTART:20220218T093000Z
DTEND:20220218T095000Z
DTSTAMP:20260421T100038Z
UID:session/5RMhApk2iAEoEaRr844z14@hasgeek.com
SEQUENCE:7
CREATED:20220212T012518Z
DESCRIPTION:Writing efficient functional recursive programs in a runtime w
 here calls consume stack space.
LAST-MODIFIED:20230108T103046Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Taming the stack in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Outro
DTSTART:20220218T095000Z
DTEND:20220218T100000Z
DTSTAMP:20260421T100038Z
UID:session/LpxiugcU2V1QAqeYV94vy8@hasgeek.com
SEQUENCE:3
CREATED:20220212T012809Z
LAST-MODIFIED:20220212T171058Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Outro in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Music Jam
DTSTART:20220218T100000Z
DTEND:20220218T103000Z
DTSTAMP:20260421T100038Z
UID:session/UwCAeDRfnwKbfNAhQbmjkb@hasgeek.com
SEQUENCE:9
CREATED:20220212T012707Z
LAST-MODIFIED:20220212T171055Z
LOCATION:Online
ORGANIZER;CN="Juspay Technologies Private Limited":MAILTO:no-reply@hasgeek
 .com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Music Jam in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
END:VCALENDAR
