tag:calagator.org,2005:/events/searchCalagator: Events tagged with: haskell2018-11-30T10:34:33-08:00tag:calagator.org,2005:Calagator::Event/12504556802008-09-04T03:12:31-07:002008-09-04T03:12:55-07:00Galois Tech Talk: Pretty-Printing a Really Long Formula (or, "What a Mathematician Could Learn from Haskell")Tuesday, September 9, 2008 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504556802008-09-09T10:30:00-07:002008-09-09T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Pretty-Printing a Really Long Formula (or, "What a Mathematician Could Learn from Haskell")</h1>
<div class='date'><time class="dtstart dt-start" title="2008-09-09T10:30:00" datetime="2008-09-09T10:30:00">Tuesday, September 9, 2008 from 10:30</time>–<time class="dtend dt-end" title="2008-09-09T11:30:00" datetime="2008-09-09T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>TITLE:
Pretty-Printing a Really Long Formula (or, "What a Mathematician Could Learn from Haskell")</p>
<p>SPEAKER:
Lee Pike, R&D Engineering, Galois, Inc.</p>
<p>DATE:
Tuesday, September 9th. 10.30am</p>
<p>LOCATION: <br>
Galois, Inc.
421 SW 6th Ave. Suite 300
(3rd floor of the Commonwealth Building)
Portland, Oregon</p>
<p>ABSTRACT:</p>
<p>To the typical engineer or evaluator, mathematics can be scary, logic can be scarier, and really long specifications can simply be overwhelming. This talk is about the problem of the visual presentation of formal specifications clearly and concisely. We take as our initial inspiration Leslie Lamport's brief paper, "How to Write a Long Formula" and "How to Write a Proof" in which he proposes methods for writing the long and tedious formulas and proofs that appear in formal specification and verification.</p>
<p>I will describe the problem and present one particular solution, as implemented in a simple pretty-printer I've written (in Haskell), that uses indentation and labels to more easily visually parse long formulas. Ultimately, I propose a "HOL Normal Form" for presenting specifications, much like BNF is used for presenting language definitions.</p>
<p>BIOGRAPHICAL DETAILS:</p>
<p><a href="http://galois.com/company/people/lee_pike/">http://galois.com/company/people/lee_pike/</a></p>
<p>ABOUT THE GALOIS TECH TALKS.</p>
<p>Galois (<a href="http://galois.com">http://galois.com</a>) has been holding weekly technical seminars for several years on topics from functional programming, formal methods, compiler and language design, to cryptography, and operating system construction, with talks by many figures from the programming language and formal methods communities.</p>
<p>The talks are open and free. If you're planning to attend, dropping a note to <a href="mailto:dons@galois.com">dons@galois.com</a> is appreciated, but not required. If you're interested in giving a talk, we're always looking for new speakers.</p>
</div>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250455680.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250455680/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Thursday, September 4, 2008 at 3:12am</strong> and last updated <br /><strong>Thursday, September 4, 2008 at 3:12am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504558032008-10-06T15:37:17-07:002008-10-06T15:37:17-07:00Galois Tech Talk: The Future of Cabal (Haskell package management)Tuesday, October 7, 2008 from 10:30am-noon at Galois, Inchttp://calagator.org/events/12504558032008-10-07T10:30:00-07:002008-10-07T12:00:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: The Future of Cabal (Haskell package management)</h1>
<div class='date'><time class="dtstart dt-start" title="2008-10-07T10:30:00" datetime="2008-10-07T10:30:00">Tuesday, October 7, 2008 from 10:30am</time>–<time class="dtend dt-end" title="2008-10-07T12:00:00" datetime="2008-10-07T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Duncan Coutts, from Well-Typed (<a href="http://well-typed.com">http://well-typed.com</a>), will be giving a tech talk tomorrow about the technical direction of Cabal, Haskell package infrastructure, and the problems of managing very large amounts of Haskell
code.</p>
<p>...</p>
<p>TITLE:
The Future of Cabal -- "A language for build systems" and "Constraint solving problems in package deployment"</p>
<p>SPEAKER:
Duncan Coutts, Well-Typed, LLP</p>
<p>DATE:
Tuesday, Oct 7, 2008
10.30am</p>
<p>LOCATION:
Galois, Inc.
421 SW 6th Ave. Suite 300
(3rd floor of the Commonwealth Building)
Portland, Oregon</p>
<p>ABSTRACT:</p>
<p>This will be an informal talk and discussion on two topics:</p>
<ol>
<li>A language for build systems</li>
</ol>
<p>Build systems are easy to start but hard to get right. We'll take the view of a language designer and look at where our current tools fall down in terms of safety/correctness and expressiveness.</p>
<p>We'll then consider some very early ideas about what a build system language should look like and what properties it should have. Currently this takes the form of a design for a build DSL embedded in Haskell.</p>
<ol>
<li>Constraint solving problems in package deployment</li>
</ol>
<p>We are all familiar, at least peripherally, with package systems. Every Linux distribution has a notion of packages and most have high level tools to automate the installation of packages and all their dependencies. What is not immediately obvious is that the problem of resolving a consistent set of dependencies is hard, indeed it is NP-complete. It is possible to encode 3-SAT or Sudoku as a query on a specially crafted package repository.</p>
<p>We will look at this problem in a bit more detail and ask if the right approach might be to apply our knowledge about constraint solving rather than the current ad-hoc solvers that most real systems use. My hope is to provoke a discussion about the problem.</p>
<p>We can concentrate on one topic or the other depending on peoples interest.</p>
<p>ABOUT THE GALOIS TECH TALKS:</p>
<p>Galois (<a href="http://galois.com">http://galois.com</a>) has been holding weekly technical seminars for several years on topics from functional programming, formal methods, compiler and language design, to cryptography, and operating system construction, with talks by many figures from the programming language and formal methods communities.</p>
<p>The talks are open and free. If you're planning to attend, dropping a note to <a href="mailto:dons@galois.com">dons@galois.com</a> is appreciated, but not required. If you're interested in giving a talk, we're always looking for new speakers.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250455803.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250455803/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, October 6, 2008 at 3:37pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504558132008-10-10T10:28:12-07:002008-10-10T10:28:12-07:00Galois Tech Talk: Type Correct Changes, A Safe Approach to Version Control ImplementationTuesday, October 14, 2008 from 10:30am-noon at Galois, Inchttp://calagator.org/events/12504558132008-10-14T10:30:00-07:002008-10-14T12:00:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Type Correct Changes, A Safe Approach to Version Control Implementation</h1>
<div class='date'><time class="dtstart dt-start" title="2008-10-14T10:30:00" datetime="2008-10-14T10:30:00">Tuesday, October 14, 2008 from 10:30am</time>–<time class="dtend dt-end" title="2008-10-14T12:00:00" datetime="2008-10-14T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Next week's tech talk, a special treat, with Jason Dagit (aka. lispy on</p>
<h1>haskell) dropping by to talk about using GADTs to clean up darcs' patch</h1>
<p>theory implementation.</p>
<hr>
<p>TITLE:
Type Correct Changes
A Safe Approach to Version Control Implementation</p>
<p>speaker:
Jason Dagit</p>
<p>LOCATION:
Galois, Inc.
421 SW 6th Ave. Suite 300
(3rd floor of the Commonwealth Building)
Portland, Oregon</p>
<p>ABSTRACT:</p>
<p>This will be a talk about Darcs and type safe manipulations of changes:</p>
<p>Darcs is based on a data model, known as Patch Theory, that sets it apart from other version control systems. The power of this data model is that it allows Darcs to manage significant complexity with a relatively straightforward user interface.</p>
<p>We show that Generalized Algebraic Data Types (GADTs) can be used to express several fundamental invariants and properties derived from Patch Theory. This gives our compiler, GHC, a way to statically enforce our adherence to the essential rules of our data model.</p>
<p>Finally, we examine how these techniques can improve the quality of the darcs codebase in practice.</p>
<p>PRESENTER:</p>
<p>Jason Dagit graduated from Oregon State University with B.S. degrees in Computer Science and Mathematics. He is currently employed at PTV America while completing his Masters degree at Oregon State under co-advisors Dr. David Roundy and Dr. Martin Erwig. During his time in graduate school he has studied both usability and programming languages. He participated in the 2007 Google Summer of Code where he worked under Dr. Roundy to improve Darcs conflict handling.</p>
<p>ABOUT THE GALOIS TECH TALKS:</p>
<p>Galois (<a href="http://galois.com">http://galois.com</a>) has been holding weekly technical seminars for several years on topics from functional programming, formal methods, compiler and language design, to cryptography, and operating system construction, with talks by many figures from the programming language and formal methods communities.</p>
<p>The talks are open and free. If you're planning to attend, dropping a note to <a href="mailto:dons@galois.com">dons@galois.com</a> is appreciated, but not required. If you're interested in giving a talk, we're always looking for new speakers.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250455813.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250455813/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, October 10, 2008 at 10:28am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504562132008-12-10T03:36:19-08:002009-01-07T19:35:54-08:00Portland Functional Programmers Study GroupMonday, January 12, 2009 from 7-9pm at CubeSpace [ *sniff* out of business 12 June 2009]http://calagator.org/events/12504562132009-01-12T19:00:00-08:002009-01-12T21:00:00-08:00<div class="vevent">
<h1 class="summary">Portland Functional Programmers Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2009-01-12T19:00:00" datetime="2009-01-12T19:00:00">Monday, January 12, 2009 from 7</time>–<time class="dtend dt-end" title="2009-01-12T21:00:00" datetime="2009-01-12T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202389907' class='url'>
<span class='fn org'>CubeSpace [ *sniff* out of business 12 June 2009]</span>
</a>
<div class="adr">
<div class="street-address">622 SE Grand Ave.</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97214</span>
<div class='country-name'>USA<div>
(<a href='https://maps.google.com/maps?q=622%20SE%20Grand%20Ave.,%20Portland%20Oregon%2097214%20USA'>map</a>)
</div>
</div>
<div class="description">
<p>Julian Blake Kongslie will present an introduction to state-space search, followed by some examples of various search methods in Haskell, with examples of both how to use search and how to write search code.</p>
<p><i>pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, Erlang, OCaml, Scala, and others. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://groups.google.com/group/pdxfunc">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250456213.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250456213/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, December 10, 2008 at 3:36am</strong> and last updated <br /><strong>Wednesday, January 7, 2009 at 7:35pm</strong>.
</div>
</div>
</div>
45.5185 -122.6607tag:calagator.org,2005:Calagator::Event/12504575472009-08-12T11:25:28-07:002010-03-02T09:21:06-08:00HacPDX: Portland Haskell HackathonFriday, September 25, 2009 at 3:30pm through Sunday, September 27, 2009 at 6pm at Portland State University FAB, Room 86-09http://calagator.org/events/12504575472009-09-25T15:30:00-07:002009-09-27T18:00:00-07:00<div class="vevent">
<h1 class="summary">HacPDX: Portland Haskell Hackathon</h1>
<div class='date'><time class="dtstart dt-start" title="2009-09-25T15:30:00" datetime="2009-09-25T15:30:00">Friday, September 25, 2009 at 3:30pm</time> through <time class="dtend dt-end" title="2009-09-27T18:00:00" datetime="2009-09-27T18:00:00">Sunday, September 27, 2009 at 6pm</time></div>
<div class="location vcard">
<a href='/venues/202391953' class='url'>
<span class='fn org'>Portland State University FAB, Room 86-09</span>
</a>
<div class="adr">
<div class="street-address">1900 SW Fourth Avenue</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97201</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1900%20SW%20Fourth%20Avenue,%20Portland%20Oregon%2097201%20US'>map</a>)
</div>
</div>
<div class="description">
<p>HacPDX is an opportunity to join Portland Haskell hackers in building and improving Hackage libraries and tools. If you've never been, Hackathons are typically not only a good opportunity for experienced devs to work together but also a great way for newcomers to get involved in the community.</p>
<p>Visit this website for complete details: <a href="http://www.haskell.org/haskellwiki/HacPDX">http://www.haskell.org/haskellwiki/HacPDX</a></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.haskell.org/haskellwiki/HacPDX">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/beer"><img title="beer" alt="beer" src="/assets/tag_icons/beer-c37730a61e5136f3294d36828ea8a295e624fc652c114cf191d008ee44f97f2a.png" /> beer</a>, <a class="p-category" href="/events/tag/code">code</a>, <a class="p-category" href="/events/tag/hackathon">hackathon</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a>, <a class="p-category" href="/events/tag/pdxhackathon">pdxhackathon</a>, <a class="p-category" href="/events/tag/perl">perl</a>, <a class="p-category" href="/events/tag/python"><img title="python" alt="python" src="/assets/tag_icons/python-7d0292f9705752d39a2459a8eab8946b2ac1f0ddec928d2d68267259586412e9.png" /> python</a>, <a class="p-category" href="/events/tag/ruby"><img title="ruby" alt="ruby" src="/assets/tag_icons/ruby-6cb4bb736e6c4cb0000f6e4d6254e13d9088263198adc4a1fd0676f8a2f84c34.png" /> ruby</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250457547.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250457547/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, August 12, 2009 at 11:25am</strong> and last updated <br /><strong>Tuesday, March 2, 2010 at 9:21am</strong>.
</div>
</div>
</div>
45.5096 -122.681tag:calagator.org,2005:Calagator::Event/12504577592009-09-29T21:44:15-07:002009-10-05T18:32:24-07:00Galois Tech Talk: Roll Your Own Test Bed for Embedded Real-Time Protocols: A Haskell ExperienceTuesday, October 6, 2009 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504577592009-10-06T10:30:00-07:002009-10-06T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Roll Your Own Test Bed for Embedded Real-Time Protocols: A Haskell Experience</h1>
<div class='date'><time class="dtstart dt-start" title="2009-10-06T10:30:00" datetime="2009-10-06T10:30:00">Tuesday, October 6, 2009 from 10:30</time>–<time class="dtend dt-end" title="2009-10-06T11:30:00" datetime="2009-10-06T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>The next talk in the Galois Tech Seminar series:</p>
<ul>
<li>Date: Tuesday, October 6th, 2009</li>
<li>Title: Roll Your Own Test Bed for Embedded Real-Time Protocols: A Haskell Experience</li>
<li>Speaker: Lee Pike</li>
<li>Time: 10:30am - 11:30am</li>
<li>Location: Galois, Inc. 421 SW 6th Ave. Suite 300; Portland, OR 97204</li>
</ul>
<p>For details (including an abstract and speaker bio), please see our
blog post: <a href="http://www.galois.com/blog/2009/09/29/pike-haskell0/">http://www.galois.com/blog/2009/09/29/pike-haskell0/</a></p>
<p>Abstract: We present by example a new application domain for functional languages: emulators for embedded real-time protocols. As a case-study, we implement a simple emulator for the Biphase Mark Protocol, a physical-layer network protocol in Haskell. The surprising result is that a pure functional language with no built-in notion of time is extremely well-suited for constructing such emulators. Furthermore, we use Haskell’s property-checker QuickCheck to automatically generate real-time parameters for simulation. We also describe a novel use of QuickCheck as a probability calculator for reliability analysis.</p>
<p>Bio: Lee Pike is a member of the technical staff at Galois. Previously, he was a research scientist with the NASA Langley Formal Methods Group, primarily involved in the SPIDER project. His research interests include applying formal methods to safety-critical and security-critical applications, with a focus on industrial-scale endeavors.</p>
<p>An RSVP is not required; but feel free to drop a line to
<a href="mailto:levent.erkok@galois.com">levent.erkok@galois.com</a> if you've any questions or comments.</p>
<p>Levent Erkok</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/blog/2009/09/29/pike-haskell0/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/quickcheck">quickcheck</a>, <a class="p-category" href="/events/tag/real-time">real-time</a>, <a class="p-category" href="/events/tag/simulation">simulation</a>, <a class="p-category" href="/events/tag/tech seminar">tech seminar</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250457759.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250457759/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, September 29, 2009 at 9:44pm</strong> and last updated <br /><strong>Monday, October 5, 2009 at 6:32pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504578592009-10-13T16:38:42-07:002009-10-13T16:38:42-07:00Galois Talk: Writing Linux Kernel Modules with HaskellTuesday, October 20, 2009 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504578592009-10-20T10:30:00-07:002009-10-20T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Talk: Writing Linux Kernel Modules with Haskell</h1>
<div class='date'><time class="dtstart dt-start" title="2009-10-20T10:30:00" datetime="2009-10-20T10:30:00">Tuesday, October 20, 2009 from 10:30</time>–<time class="dtend dt-end" title="2009-10-20T11:30:00" datetime="2009-10-20T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>The next talk in the Galois Tech Seminar series:</p>
<ul>
<li>Date: Tuesday, October 20th, 2009</li>
<li>Title: Writing Linux Kernel Modules with Haskell</li>
<li>Speaker: Thomas DuBuisson</li>
<li>Time: 10:30am - 11:30am</li>
<li>Location: Galois, Inc. 421 SW 6th Ave. Suite 300; Portland, OR 97204</li>
</ul>
<p>For details (including an abstract and speaker bio), please see our
blog post: <a href="http://www.galois.com/blog/2009/10/13/haskellkernelmodules/">http://www.galois.com/blog/2009/10/13/haskellkernelmodules/</a></p>
<p>An RSVP is not required; but feel free to drop a line to
<a href="mailto:levent.erkok@galois.com">levent.erkok@galois.com</a> if you've any questions or comments.</p>
<p>Levent Erkok</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/blog/2009/10/13/haskellkernelmodules/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/linux kernel modules">linux kernel modules</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250457859.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250457859/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, October 13, 2009 at 4:38pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504579352009-10-28T14:59:44-07:002009-10-28T14:59:44-07:00 Galois Talk: Testing First-Order-Logic Axioms in AutoCert Tuesday, November 3, 2009 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504579352009-11-03T10:30:00-08:002009-11-03T11:30:00-08:00<div class="vevent">
<h1 class="summary"> Galois Talk: Testing First-Order-Logic Axioms in AutoCert </h1>
<div class='date'><time class="dtstart dt-start" title="2009-11-03T10:30:00" datetime="2009-11-03T10:30:00">Tuesday, November 3, 2009 from 10:30</time>–<time class="dtend dt-end" title="2009-11-03T11:30:00" datetime="2009-11-03T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>The next talk in the Galois Tech Seminar series:</p>
<ul>
<li>Date: Tuesday, November 3rd, 2009</li>
<li>Title: Testing First-Order-Logic Axioms in AutoCert</li>
<li>Speaker: Ki Yung Ahn</li>
<li>Time: 10:30am - 11:30am</li>
<li>Location: Galois, Inc. 421 SW 6th Ave. Suite 300; Portland, OR
97204</li>
</ul>
<p>For details (including an abstract and speaker bio), please see our
blog post: <a href="http://www.galois.com/blog/2009/10/28/ahn-autocert/">http://www.galois.com/blog/2009/10/28/ahn-autocert/</a></p>
<p>An RSVP is not required; but feel free to drop a line to
<a href="mailto:levent.erkok@galois.com">levent.erkok@galois.com</a> if you've any questions or comments.</p>
<p>Levent Erkok</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/blog/2009/10/28/ahn-autocert/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/first-order-logic">first-order-logic</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/smt">smt</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a>, <a class="p-category" href="/events/tag/testing">testing</a>, <a class="p-category" href="/events/tag/yices">yices</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250457935.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250457935/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, October 28, 2009 at 2:59pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504579922009-11-11T08:33:33-08:002009-11-11T08:33:33-08:00Darcs Hacking SprintSaturday, November 14, 2009 at 9am through Sunday, November 15, 2009 at 5pm at Galois, Inchttp://calagator.org/events/12504579922009-11-14T09:00:00-08:002009-11-15T17:00:00-08:00<div class="vevent">
<h1 class="summary">Darcs Hacking Sprint</h1>
<div class='date'><time class="dtstart dt-start" title="2009-11-14T09:00:00" datetime="2009-11-14T09:00:00">Saturday, November 14, 2009 at 9am</time> through <time class="dtend dt-end" title="2009-11-15T17:00:00" datetime="2009-11-15T17:00:00">Sunday, November 15, 2009 at 5pm</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Who : Anybody who wants to hack on Darcs (or Camp, Focal, SO6, etc) Beginners especially welcome!</p>
<p>Why : Darcs aims to have bi-annual hacking sprints so that we can get together on a regular basis, hold design discussions, hack up a storm and have a lot fun.</p>
<p>What : We plan to put some finishing touches on Darcs-2.4. Darcs 2.4 is a pretty exciting release because we expect it to offer nice performance enhancements from Petr's Google</p>
<p>Summer of Code Project, and also a nice new 'hunk splitting' feature.</p>
<p>We also intend to set aside at least one Darcs hacker for mentoring beginners, so if you're new to Haskell or to Darcs hacking, here's a good chance to plunge in and start working on a real world project.</p>
<p>How: Add yourself to <a href="http://wiki.darcs.net/Sprints/2009-11">http://wiki.darcs.net/Sprints/2009-11</a></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://wiki.darcs.net/Sprints/2009-11">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/darcs">darcs</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/programming">programming</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250457992.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250457992/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, November 11, 2009 at 8:33am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504580802009-12-09T16:16:47-08:002009-12-11T09:42:24-08:00Galois Tech Talk: Beautiful DifferentiationTuesday, December 15, 2009 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504580802009-12-15T10:30:00-08:002009-12-15T11:30:00-08:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Beautiful Differentiation</h1>
<div class='date'><time class="dtstart dt-start" title="2009-12-15T10:30:00" datetime="2009-12-15T10:30:00">Tuesday, December 15, 2009 from 10:30</time>–<time class="dtend dt-end" title="2009-12-15T11:30:00" datetime="2009-12-15T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>The December 15th Galois Tech Talk will be delivered by John Launchbury. He will present Conal Elliott’s 2009 ICFP paper entitled Beautiful Differentiation for those of us who were not able to attend this wonderful talk in-person.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/blog/2009/12/09/tech-talk-john-launchbury-presents-conal-elliots-beautiful-differentiation/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250458080.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250458080/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, December 9, 2009 at 4:16pm</strong> and last updated <br /><strong>Friday, December 11, 2009 at 9:42am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504582062010-01-20T11:59:50-08:002010-01-20T12:02:04-08:00Galois Tech Talk: A Scalable I/O Manager for GHCFriday, January 29, 2010 from 1:30-2:30pm at Galois, Inchttp://calagator.org/events/12504582062010-01-29T13:30:00-08:002010-01-29T14:30:00-08:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: A Scalable I/O Manager for GHC</h1>
<div class='date'><time class="dtstart dt-start" title="2010-01-29T13:30:00" datetime="2010-01-29T13:30:00">Friday, January 29, 2010 from 1:30</time>–<time class="dtend dt-end" title="2010-01-29T14:30:00" datetime="2010-01-29T14:30:00">2:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>A Scalable I/O Manager for GHC</p>
<p>Presented by Johan Tibell.</p>
<p>Abstract: The Glasgow Haskell Compiler supports extraordinarily cheap threads. These are implemented using a two-level model, with threads scheduled across a set of OS-level threads. Since the lightweight threads can’t afford to block when performing I/O operations, when a Haskell program starts, it runs an I/O manager thread whose job is to notify other threads when they can safely perform I/O.</p>
<p>The I/O manager manages its file descriptors using the select system call. While select performs well for a small number of file descriptors, it doesn’t scale to a large number of concurrent clients, making GHC less attractive for use in large-scale server development.</p>
<p>This talk will describe a new, more scalable I/O manager that’s currently under development and that hopefully will replace the current I/O manager in a future release of GHC.</p>
<p>Details:
Date: January 29th, 2010, Friday
Time: 1:30pm
Location: Galois Inc., 421 SW 6th Ave. Suite 300 (3rd floor of the Commonwealth building)</p>
<p>Bio: Johan Tibell is a Software Engineer at Google Inc. He received a M.S. in Software Engineering from the Chalmers University of Technology, Sweden, in 2007.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/blog/2010/01/20/tech-talk-a-scalable-io-manager-for-ghc/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/concurrency">concurrency</a>, <a class="p-category" href="/events/tag/ghc">ghc</a>, <a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250458206.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250458206/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, January 20, 2010 at 11:59am</strong> and last updated <br /><strong>Wednesday, January 20, 2010 at 12:02pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504586822010-05-12T08:49:07-07:002010-05-12T08:49:07-07:00Galois Tech Talk: Developing Good Habits for Bare-Metal ProgrammingTuesday, May 18, 2010 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504586822010-05-18T10:30:00-07:002010-05-18T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Developing Good Habits for Bare-Metal Programming</h1>
<div class='date'><time class="dtstart dt-start" title="2010-05-18T10:30:00" datetime="2010-05-18T10:30:00">Tuesday, May 18, 2010 from 10:30</time>–<time class="dtend dt-end" title="2010-05-18T11:30:00" datetime="2010-05-18T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>presenter: Mark Jones</p>
<p>abstract:
Developers of systems software must often deal with low-level and performance-critical details that are hard to address in high-level programming languages. As a result, much of the systems software that is produced today is written in languages like C and assembly code, without the benefit of more expressive type systems or other features from modern functional programming languages that could help to increase programmer productivity or software quality. In this talk, we present an update on the status of Habit, a dialect of Haskell that we are designing, as part of the HASP project at PSU, to meet the needs of high assurance systems programming. Among other features, Habit provides: mechanisms for fine control over representation of bit-level and memory-based data structures; strong support for both functional and imperative programming; and a flexible type system that allows precise characterization of size and bound information via type level naturals, as well as termination properties resulting from the use of unpointed types.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.galois.com/blog/2010/05/12/tech-talk-developing-good-habits-for-bare-metal-programming/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/systems programming">systems programming</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250458682.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250458682/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, May 12, 2010 at 8:49am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504589912010-08-09T19:43:45-07:002011-05-24T13:37:14-07:00Portland State University Haskell Interest Group [PHIG]Wednesday, August 11, 2010 from 6-9pm at Portland State University FAB, Room 86-09http://calagator.org/events/12504589912010-08-11T18:00:00-07:002010-08-11T21:00:00-07:00<div class="vevent">
<h1 class="summary">Portland State University Haskell Interest Group [PHIG]</h1>
<div class='date'><time class="dtstart dt-start" title="2010-08-11T18:00:00" datetime="2010-08-11T18:00:00">Wednesday, August 11, 2010 from 6</time>–<time class="dtend dt-end" title="2010-08-11T21:00:00" datetime="2010-08-11T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202391953' class='url'>
<span class='fn org'>Portland State University FAB, Room 86-09</span>
</a>
<div class="adr">
<div class="street-address">1900 SW Fourth Avenue</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97201</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1900%20SW%20Fourth%20Avenue,%20Portland%20Oregon%2097201%20US'>map</a>)
</div>
</div>
<div class="description">
<p>The PSU Haskell Interest Group is intended to provide a meeting place for PSU students and others who are users and developers of the Haskell programming language. Nothing too structured; brief talks and a chance to meet and discuss.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://wiki.cs.pdx.edu/phig">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/psu">psu</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250458991.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250458991/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, August 9, 2010 at 7:43pm</strong> and last updated <br /><strong>Tuesday, May 24, 2011 at 1:37pm</strong>.
</div>
</div>
</div>
45.5096 -122.681tag:calagator.org,2005:Calagator::Event/12504597722011-02-08T15:26:07-08:002011-02-08T15:26:07-08:00Galois Tech Talk: Faster Persistent Data Structures Through HashingTuesday, February 15, 2011 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504597722011-02-15T10:30:00-08:002011-02-15T11:30:00-08:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Faster Persistent Data Structures Through Hashing</h1>
<div class='date'><time class="dtstart dt-start" title="2011-02-15T10:30:00" datetime="2011-02-15T10:30:00">Tuesday, February 15, 2011 from 10:30</time>–<time class="dtend dt-end" title="2011-02-15T11:30:00" datetime="2011-02-15T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by Johan Tibell.</p>
<p>The most commonly used map (dictionary) data type in Haskell is implemented using a size balanced tree. While size balanced trees provide good asymptotic performance, their real world performance is not stellar, especially when used with keys which are expensive to compare, such as strings.</p>
<p>In this talk we will look at two different map implementations that use hashing to achieve better real world performance. The implementations have different performance characteristics: one provides very fast look-ups while the other trades better insert performance for somewhat slower look-ups. I will describe the design of these data structures and show some early benchmark results.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2011/2/8/tech-talk-faster-persistent-data-structures-through-hashing.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/data structures">data structures</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250459772.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250459772/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, February 8, 2011 at 3:26pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504598942011-03-08T10:03:57-08:002011-03-08T10:03:57-08:00Galois Tech Talk: Haskell And The Social WebTuesday, March 15, 2011 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504598942011-03-15T10:30:00-07:002011-03-15T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Haskell And The Social Web</h1>
<div class='date'><time class="dtstart dt-start" title="2011-03-15T10:30:00" datetime="2011-03-15T10:30:00">Tuesday, March 15, 2011 from 10:30</time>–<time class="dtend dt-end" title="2011-03-15T11:30:00" datetime="2011-03-15T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by Philip Weaver.</p>
<p>Janrain offers user management services that include single sign-on, social login, and profile storage. We have recently begun using Haskell extensively to implement our products, and would like to share what the experience has been like.</p>
<p>In this talk we will give a technical demonstration of Capture, whose backend is written in Haskell, discuss some of the implementation details of Capture, and look at some of the joys and pitfalls that we experienced.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2011/3/8/tech-talk-haskell-and-the-social-web.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a>, <a class="p-category" href="/events/tag/web services">web services</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250459894.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250459894/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, March 8, 2011 at 10:03am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504599022011-03-08T20:19:26-08:002011-04-27T16:41:02-07:00Portland Functional Programming Study GroupMonday, May 9, 2011 from 7-9pm at Lucky Labrador Brew Pubhttp://calagator.org/events/12504599022011-05-09T19:00:00-07:002011-05-09T21:00:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2011-05-09T19:00:00" datetime="2011-05-09T19:00:00">Monday, May 9, 2011 from 7</time>–<time class="dtend dt-end" title="2011-05-09T21:00:00" datetime="2011-05-09T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202390282' class='url'>
<span class='fn org'>Lucky Labrador Brew Pub</span>
</a>
<div class="adr">
<div class="street-address">915 SE Hawthorne Boulevard</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97214</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=915%20SE%20Hawthorne%20Boulevard,%20Portland%20Oregon%2097214%20US'>map</a>)
</div>
</div>
<div class="description">
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, Erlang, OCaml, Scala, and others. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.</i></p>
<p>ABOUT THE VENUE: The group will meet in the Events Room, the large glassed-in room by the main entrance on Hawthorne. There will a "pdxfunc" sign on the door. Feel free to show up early to eat and socialize, we have the room reserved from 6pm on.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/guile">guile</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/javascript"><img title="javascript" alt="javascript" src="/assets/tag_icons/javascript-6abd4d1aeb784c814b3ef6ce94436f030aad9dfe0f5255ea43a181edc84c4c0c.png" /> javascript</a>, <a class="p-category" href="/events/tag/lisp">lisp</a>, <a class="p-category" href="/events/tag/ml">ml</a>, <a class="p-category" href="/events/tag/ocaml">ocaml</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a>, <a class="p-category" href="/events/tag/racket">racket</a>, <a class="p-category" href="/events/tag/scala">scala</a>, <a class="p-category" href="/events/tag/scheme">scheme</a>, <a class="p-category" href="/events/tag/slate">slate</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250459902.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250459902/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, March 8, 2011 at 8:19pm</strong> and last updated <br /><strong>Wednesday, April 27, 2011 at 4:41pm</strong>.
</div>
</div>
</div>
45.5124 -122.6563tag:calagator.org,2005:Calagator::Event/12504605602011-05-04T15:43:56-07:002011-05-04T15:43:56-07:00Galois Tech Talk: Empirical Sampling With HaskellTuesday, May 10, 2011 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504605602011-05-10T10:30:00-07:002011-05-10T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Empirical Sampling With Haskell</h1>
<div class='date'><time class="dtstart dt-start" title="2011-05-10T10:30:00" datetime="2011-05-10T10:30:00">Tuesday, May 10, 2011 from 10:30</time>–<time class="dtend dt-end" title="2011-05-10T11:30:00" datetime="2011-05-10T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by Chad Scherrer.</p>
<p>Sampling from a large discrete distribution is a common problem in statistics. In this talk, we'll consider a real-world situation where the properties of the distribution cause common approaches to break down, and we'll arrive at a Haskell-based solution that fixes the problem.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2011/5/4/tech-talk-empirical-sampling-with-haskell.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/statistics">statistics</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250460560.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250460560/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, May 4, 2011 at 3:43pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504607922011-06-29T19:23:13-07:002011-06-29T22:34:33-07:00HacPDX IIFriday, July 22, 2011 at 10am through Sunday, July 24, 2011 at 6pm at Portland State University Fourth Avenue Building (FAB)http://calagator.org/events/12504607922011-07-22T10:00:00-07:002011-07-24T18:00:00-07:00<div class="vevent">
<h1 class="summary">HacPDX II</h1>
<div class='date'><time class="dtstart dt-start" title="2011-07-22T10:00:00" datetime="2011-07-22T10:00:00">Friday, July 22, 2011 at 10am</time> through <time class="dtend dt-end" title="2011-07-24T18:00:00" datetime="2011-07-24T18:00:00">Sunday, July 24, 2011 at 6pm</time></div>
<div class="location vcard">
<a href='/venues/202390760' class='url'>
<span class='fn org'>Portland State University Fourth Avenue Building (FAB)</span>
</a>
<div class="adr">
<div class="street-address">1900 SW 4th Ave.</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97201</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1900%20SW%204th%20Ave.,%20Portland%20OR%2097201%20US'>map</a>)
</div>
</div>
<div class="description">
<p>HacPDX-II is an opportunity to join Portland Haskell hackers in building and improving Hackage libraries and tools. The project you hack on can be anything and need-not be pre-existing or general community tools.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://haskell.org/haskellwiki/HacPDX-II">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/hackathon">hackathon</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/programming">programming</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250460792.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250460792/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, June 29, 2011 at 7:23pm</strong> and last updated <br /><strong>Wednesday, June 29, 2011 at 10:34pm</strong>.
</div>
</div>
</div>
45.5102 -122.6804tag:calagator.org,2005:Calagator::Event/12504612082011-08-10T15:20:23-07:002011-08-10T15:20:23-07:00Tech Talk: Back-to-back talks on Haskell and Embedded SystemsTuesday, August 16, 2011 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504612082011-08-16T10:30:00-07:002011-08-16T11:30:00-07:00<div class="vevent">
<h1 class="summary">Tech Talk: Back-to-back talks on Haskell and Embedded Systems</h1>
<div class='date'><time class="dtstart dt-start" title="2011-08-16T10:30:00" datetime="2011-08-16T10:30:00">Tuesday, August 16, 2011 from 10:30</time>–<time class="dtend dt-end" title="2011-08-16T11:30:00" datetime="2011-08-16T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by Sebastian Niller and Nis N. Wegmann</p>
<h1>1</h1>
<p>title:
Translation of Functionally Embedded Domain-specific Languages With Static Type Preservation by using Witnesses</p>
<p>abstract:
Static type preservation automatically guarantees type-correctness of an embedded domain-specific language (eDSL) by tying its type system to that of the host-language. Not only does this obviate the need for a custom type checker, it also preserves type-correctness during code transformations and optimizations, and simplifies and increases the efficiency of interpreters. When implementing a translator from a source DSL with type preservation to a target DSL, the commonly chosen approach requires the incorporation of extensions in the source DSL specific to the target DSL, which, in cases where multiple back-ends are required, obfuscates the source DSL and decreases the overall modularity. We show that by using witnesses, a technique which facilitates the construction of type-level proofs, we can effectively cope with this issue and implement translators without extending the source DSL.</p>
<p>We have applied our approach on Copilot, a Haskell-embedded domain specific language for runtime monitoring of hard real-time distributed systems, and used it for implementing two back-ends targeting the Haskell-embedded languages Atom and SBV. Our approach restrains to the Haskell 2010 Standard except for existentially and universally quantified types.</p>
<h1>2</h1>
<p>title:
From High-Level Languages to Monitoring Fault-Tolerant Hardware: Case-Studies of Runtime Verification Using Copilot</p>
<p>abstract:
Failures of hard real-time systems can be caused by systematic faults in software and hardware, as well as by random hardware faults, and faults due to wear out of hardware components. Even if monitoring software is proven to comply to its specification, there is no guarantee that failing underlying hardware does not affect the monitors themselves. An application of distributed Copilot monitors to a redundant airspeed measurement system is presented. We show the use of monitors enables the system to withstand benign and Byzantine hardware and software faults.</p>
<p>The second part of the talk presents current work using Copilot
to monitor the MAVLink protocol in flight of a sub-scale model
of an Edge 540T aircraft.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2011/8/10/tech-talks-back-to-back-talks-on-haskell-and-embedded-system.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/embedded systems">embedded systems</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250461208.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250461208/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, August 10, 2011 at 3:20pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504617952012-01-03T10:19:17-08:002012-01-03T10:19:17-08:00Galois Tech Talk (1 of 3 next week!): Formalizing Haskell 98 in the K Semantic FrameworkTuesday, January 10, 2012 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504617952012-01-10T10:30:00-08:002012-01-10T11:30:00-08:00<div class="vevent">
<h1 class="summary">Galois Tech Talk (1 of 3 next week!): Formalizing Haskell 98 in the K Semantic Framework</h1>
<div class='date'><time class="dtstart dt-start" title="2012-01-10T10:30:00" datetime="2012-01-10T10:30:00">Tuesday, January 10, 2012 from 10:30</time>–<time class="dtend dt-end" title="2012-01-10T11:30:00" datetime="2012-01-10T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by David Lazar</p>
<p>Formal semantics is notoriously hard. The K semantic framework (<a href="http://k-framework.org/">http://k-framework.org/</a>) is a system that makes the task of formally defining programming languages easy and practical. The primary goals of the K framework are modularity, expressivity, and executability. Adding a new language feature to a K definition does not require you to revisit and modify existing semantic rules. The K framework is able to concisely capture the semantics of non-determinism and concurrency. Each K definition automatically yields an interpreter for the language so that the definition can be tested for correctness. These features made it possible to develop a complete formal semantics of the C language in K.
The first half of the talk will be an overview of the K semantic framework. We'll discuss the merits of the framework using the K definition of a complex toy language as a guiding example. The second half of the talk will focus on a work-in-progress formalization of Haskell 98 in K. We'll look at the challenges of formalizing Haskell and the applications of this work.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://corp.galois.com/blog/2012/1/3/galois-tech-talk-1-of-3-next-week-formalizing-haskell-98-in.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/formal methods">formal methods</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/semantics">semantics</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250461795.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250461795/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, January 3, 2012 at 10:19am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504627802012-08-24T10:05:27-07:002012-08-24T10:05:27-07:00Galois Tech Talk: Formal Verification of Monad Transformers Thursday, August 30, 2012 from 11am-noon at Galois, Inchttp://calagator.org/events/12504627802012-08-30T11:00:00-07:002012-08-30T12:00:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Formal Verification of Monad Transformers </h1>
<div class='date'><time class="dtstart dt-start" title="2012-08-30T11:00:00" datetime="2012-08-30T11:00:00">Thursday, August 30, 2012 from 11am</time>–<time class="dtend dt-end" title="2012-08-30T12:00:00" datetime="2012-08-30T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by Brian Huffman.</p>
<p>We present techniques for reasoning about constructor classes that (like the monad class) fix polymorphic operations and assert polymorphic axioms. We do not require a logic with first-class type constructors, first-class polymorphism, or type quantification; instead, we rely on a domain-theoretic model of the type system in a universal domain to provide these features. These ideas are implemented in the Tycon library for the Isabelle theorem prover, which builds on the HOLCF library of domain theory. The Tycon library provides various axiomatic type constructor classes, including functors and monads. It also provides automation for instantiating those classes, and for defining further subclasses. We use the Tycon library to formalize three Haskell monad transformers: the error transformer, the writer transformer, and the resumption transformer. The error and writer transformers do not universally preserve the monad laws; however, we establish datatype invariants for each, showing that they are valid monads when viewed as abstract datatypes.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://corp.galois.com/blog/2012/8/24/tech-talk-formal-verification-of-monad-transformers.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/Isabelle">Isabelle</a>, <a class="p-category" href="/events/tag/formal methods">formal methods</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250462780.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250462780/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, August 24, 2012 at 10:05am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504633902013-01-11T17:24:35-08:002013-01-11T17:24:35-08:00miniKanren ConfoTuesday, March 19, 2013 from 6-10pm at Courtyard by Marriott City Center, Portlandhttp://calagator.org/events/12504633902013-03-19T18:00:00-07:002013-03-19T22:00:00-07:00<div class="vevent">
<h1 class="summary">miniKanren Confo</h1>
<div class='date'><time class="dtstart dt-start" title="2013-03-19T18:00:00" datetime="2013-03-19T18:00:00">Tuesday, March 19, 2013 from 6</time>–<time class="dtend dt-end" title="2013-03-19T22:00:00" datetime="2013-03-19T22:00:00">10pm</time></div>
<div class="location vcard">
<a href='/venues/202391545' class='url'>
<span class='fn org'>Courtyard by Marriott City Center, Portland</span>
</a>
<div class="adr">
<div class="street-address">550 SW Oak Street</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=550%20SW%20Oak%20Street,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>The miniKanren Confo is a special 4 hour conference about logic programming (in particular miniKanren). Dan Friedman and Will Byrd (co-authors of the Reasoned Schemer) will provide a keynote. The <a href="http://clojurewest.org/sessions#confo">list of sessions</a> can be found on the Clojure/West site.</p>
<p><a href="http://regonline.com/clojurewest2013">Registration</a> ($50) is required and can be done either standalone or as part of registration with the Clojure/West conference (Mar 18-20th).</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://clojurewest.org/sessions#confo">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/logic">logic</a>, <a class="p-category" href="/events/tag/miniKanren">miniKanren</a>, <a class="p-category" href="/events/tag/programming">programming</a>, <a class="p-category" href="/events/tag/scheme">scheme</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250463390.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250463390/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, January 11, 2013 at 5:24pm</strong>.
</div>
</div>
</div>
45.5216 -122.6767tag:calagator.org,2005:Calagator::Event/12504641402013-05-03T18:25:52-07:002013-05-12T17:54:18-07:00pdxfunc: Portland Functional Programming Study GroupMonday, May 13, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504641402013-05-13T19:00:00-07:002013-05-13T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-05-13T19:00:00" datetime="2013-05-13T19:00:00">Monday, May 13, 2013 from 7</time>–<time class="dtend dt-end" title="2013-05-13T21:00:00" datetime="2013-05-13T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Luc Perkins has offered to give a talk "Pandoc: the deep dive." - an exploration of how Pandoc works its magic, and why FP is a good choice for that kind of project.</p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464140.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464140/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, May 3, 2013 at 6:25pm</strong> and last updated <br /><strong>Sunday, May 12, 2013 at 5:54pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504643272013-06-02T15:05:05-07:002013-06-02T15:05:05-07:00pdxfunc: Portland Functional Programming Study GroupMonday, June 10, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504643272013-06-10T19:00:00-07:002013-06-10T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-06-10T19:00:00" datetime="2013-06-10T19:00:00">Monday, June 10, 2013 from 7</time>–<time class="dtend dt-end" title="2013-06-10T21:00:00" datetime="2013-06-10T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464327.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464327/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, June 2, 2013 at 3:05pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504644002013-06-17T11:59:30-07:002013-06-17T12:02:30-07:00Galois Tech Talk: The Constrained-Monad ProblemTuesday, June 25, 2013 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504644002013-06-25T10:30:00-07:002013-06-25T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: The Constrained-Monad Problem</h1>
<div class='date'><time class="dtstart dt-start" title="2013-06-25T10:30:00" datetime="2013-06-25T10:30:00">Tuesday, June 25, 2013 from 10:30</time>–<time class="dtend dt-end" title="2013-06-25T11:30:00" datetime="2013-06-25T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Presented by Neil Sculthorpe.</p>
<p>In Haskell, there are many data types that would form monads were it not for the presence of type-class constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types cannot use. This talk will demonstrate that a monadic computation can be restructured into a normal form such that the standard monad class can be used. The technique is not specific to monads --- it can also be applied to other structures, such as applicative functors. One significant use case for this technique is Domain Specific Languages, where it is often desirable to compile a deep embedding of a computation to some other language, which requires restricting the types that can appear in that computation.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2013/6/17/tech-talk-the-constrained-monad-problem.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/monads">monads</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464400.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464400/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, June 17, 2013 at 11:59am</strong> and last updated <br /><strong>Monday, June 17, 2013 at 12:02pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504645112013-07-05T19:15:20-07:002013-07-05T19:15:20-07:00pdxfunc: Portland Functional Programming Study GroupMonday, July 8, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504645112013-07-08T19:00:00-07:002013-07-08T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-07-08T19:00:00" datetime="2013-07-08T19:00:00">Monday, July 8, 2013 from 7</time>–<time class="dtend dt-end" title="2013-07-08T21:00:00" datetime="2013-07-08T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464511.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464511/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, July 5, 2013 at 7:15pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504645802013-07-22T10:34:40-07:002013-07-22T10:34:40-07:00Functional Programming meetupTuesday, July 23, 2013 from 6:30-9:30pmhttp://calagator.org/events/12504645802013-07-23T18:30:00-07:002013-07-23T21:30:00-07:00<div class="vevent">
<h1 class="summary">Functional Programming meetup</h1>
<div class='date'><time class="dtstart dt-start" title="2013-07-23T18:30:00" datetime="2013-07-23T18:30:00">Tuesday, July 23, 2013 from 6:30</time>–<time class="dtend dt-end" title="2013-07-23T21:30:00" datetime="2013-07-23T21:30:00">9:30pm</time></div>
<div class="description">
<p>With OSCON in town this week, bringing to town many from the functional programming community among others, we thought it would be a good idea to hold a casual functional programming meetup. There's no agenda and no talks, but there will be beer and good conversation.</p>
<p>We'll be meeting up on the patio at Green Dragon. If you're just visiting and are worried you won't recognize the geeks when you get there (we're usually easy enough to spot), feel free to ping people on the PDXFunc mailing list (<a href="https://groups.google.com/forum/#!forum/pdxfunc">https://groups.google.com/forum/#!forum/pdxfunc</a>) or on IRC at #pdxfunc.</p>
</div>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang">erlang</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/ml">ml</a>, <a class="p-category" href="/events/tag/ocaml">ocaml</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a>, <a class="p-category" href="/events/tag/pdxscala">pdxscala</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464580.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464580/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, July 22, 2013 at 10:34am</strong>.
</div>
</div>
</div>
tag:calagator.org,2005:Calagator::Event/12504645982013-07-23T13:18:33-07:002013-07-23T13:18:33-07:00Galois tech talk: Type-directed compilation in the wild: Haskell and CoreMonday, July 29, 2013 from 10:30-11:30am at Galois, Inchttp://calagator.org/events/12504645982013-07-29T10:30:00-07:002013-07-29T11:30:00-07:00<div class="vevent">
<h1 class="summary">Galois tech talk: Type-directed compilation in the wild: Haskell and Core</h1>
<div class='date'><time class="dtstart dt-start" title="2013-07-29T10:30:00" datetime="2013-07-29T10:30:00">Monday, July 29, 2013 from 10:30</time>–<time class="dtend dt-end" title="2013-07-29T11:30:00" datetime="2013-07-29T11:30:00">11:30am</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Academic papers often describe typed calculi, but it is rare to find one in a production compiler. Indeed, I think the Glasgow Haskell Compiler (GHC) may be the only production compiler in the world that really has a remorselessly statically-typed intermediate language, informally called "Core", or (when writing academic papers) the more respectable-sounding "System FC".</p>
<p>As real compilers go, GHC's Core language is tiny: it is a slight extension of System F, with letrec, data types, and case expressions. Yet all of Haskell (now a bit of a monster) gets translated into it. In the last few years we have added one new feature to Core, namely typed (but erasable) coercions that witness type equalities, which turn Core into a particular kind of proof-carrying code. This single addition has opened the door to a range of source-language extensions, such as GADTs and type families.</p>
<p>In this talk I'll describe Core, and how it has affected GHC's development over the last two decades, concentrating particularly on recent developments, coercions, evidence, and type families.
To test your mettle I hope to end up with the problem we are currently wrestling with: proving consistency of a non-terminating rewrite system with non-left-linear rules.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2013/7/23/tech-talk-type-directed-compilation-in-the-wild-haskell-and.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/compilers">compilers</a>, <a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/tech talk">tech talk</a>, <a class="p-category" href="/events/tag/type systems">type systems</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464598.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464598/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, July 23, 2013 at 1:18pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504646122013-07-29T17:59:38-07:002013-08-10T18:36:11-07:00pdxfunc: Portland Functional Programming Study GroupMonday, August 12, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504646122013-08-12T19:00:00-07:002013-08-12T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-08-12T19:00:00" datetime="2013-08-12T19:00:00">Monday, August 12, 2013 from 7</time>–<time class="dtend dt-end" title="2013-08-12T21:00:00" datetime="2013-08-12T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This month we're happy to have Carl Howells presenting "A Tale of Two Libraries, or How Recent GHC Features Make Type Hackery Easier Than API Design", stemming from his recent work on a haskell library using many of the new type system features added in GHC 7.4 and 7.6. Topics will include type-level naturals and their reification via singleton types, lifted data types, kind polymorphism, and fiddly GHC details that make all these things slightly less awesome than they should be. Also included will be an object lesson in the dangers of naming and releasing too early.</p>
<p>Also, we'll have Lyle Kopnicky talking on "Just-in-Time Compilation in Haskell".</p>
<p>See you there!</p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464612.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464612/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, July 29, 2013 at 5:59pm</strong> and last updated <br /><strong>Saturday, August 10, 2013 at 6:36pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504647842013-08-30T11:06:54-07:002013-09-09T11:23:10-07:00pdxfunc: Portland Functional Programming Study GroupMonday, September 9, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504647842013-09-09T19:00:00-07:002013-09-09T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-09-09T19:00:00" datetime="2013-09-09T19:00:00">Monday, September 9, 2013 from 7</time>–<time class="dtend dt-end" title="2013-09-09T21:00:00" datetime="2013-09-09T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<ul>
<li><p>Jim Snow will talk about <a href="http://polink.org">polink.org</a>, a reputation-based collaborative social site he's been working on, written in Haskell with the Yesod framework for the frontend, and acid-state for persistence. <a href="https://github.com/jimsnow/polink">https://github.com/jimsnow/polink</a></p></li>
<li><p>Jesse Hallett will talk about Mori, a library that ports functional data structures from Clojure / ClojureScript to JavaScript.
<a href="https://github.com/swannodette/mori">https://github.com/swannodette/mori</a></p></li>
</ul>
<p>Hope to see you there!</p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464784.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464784/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, August 30, 2013 at 11:06am</strong> and last updated <br /><strong>Monday, September 9, 2013 at 11:23am</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504647852013-08-30T11:07:32-07:002013-10-14T14:52:44-07:00pdxfunc: Portland Functional Programming Study GroupMonday, October 14, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504647852013-10-14T19:00:00-07:002013-10-14T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-10-14T19:00:00" datetime="2013-10-14T19:00:00">Monday, October 14, 2013 from 7</time>–<time class="dtend dt-end" title="2013-10-14T21:00:00" datetime="2013-10-14T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>See the mailing list for details on this month's agenda:
<a href="https://groups.google.com/d/msg/pdxfunc/Z7ReDe0NECQ/QUKKFz-Id6MJ">https://groups.google.com/d/msg/pdxfunc/Z7ReDe0NECQ/QUKKFz-Id6MJ</a></p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464785.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464785/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, August 30, 2013 at 11:07am</strong> and last updated <br /><strong>Monday, October 14, 2013 at 2:52pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504647862013-08-30T11:07:48-07:002013-11-11T17:03:21-08:00pdxfunc: Portland Functional Programming Study GroupMonday, November 11, 2013 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504647862013-11-11T19:00:00-08:002013-11-11T21:00:00-08:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2013-11-11T19:00:00" datetime="2013-11-11T19:00:00">Monday, November 11, 2013 from 7</time>–<time class="dtend dt-end" title="2013-11-11T21:00:00" datetime="2013-11-11T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Jake Brownson will be presenting on his project River:</p>
<blockquote cite="https://groups.google.com/d/msg/pdxfunc/dBnDkdn_uPw/Z8Dwtz5OYeAJ">
<p>
River is a purely functional reactive system built on top of C++11
with some Ruby metaprogramming. It's reactive in the sense that as
inputs to the program change invalidations ripple through a big graph
of functions until they hit the outputs which greedily reevaluate the
graph. One significant difference from other reactive systems is that
there is no notion of time, or sequences of values at the language
level. There is no notion of events, or continuous streams of values.
It is just a big function that gets reevaluated as the input changes.
We can talk about these things using the system, but they aren't first
class.
</p>
<p>
One key idea is to push all of the logical state out of the program
itself and just make the outputs a big function of the inputs to the
program. One big function.
</p>
<p>
Inputs to the program can be things like the total console input as a
list of characters, a list of clicks the user has made, etc. Outputs
of the program are things like "There should be a window on screen"
"The window should be called 'Frank'", "The window should have this
button on it", etc. When the user clicks a button in the window the
inputs change and a new output is calculated. Maybe the window is now
called "Bob". Maybe the window no longer is on screen, but there's no
state in the program that isn't a function of the inputs.
</p>
<p>
Interactive Haskell programs work by ultimately evaluating some lazy
list of things that doesn't end until the program is terminated.
They're always in a state of being partially evaluated until the
program ends. In each invalidation cycle the River program is fully
evaluated, but the bits of it that are dependent on inputs that could
change stay in memory so they can respond to changing inputs. An input
list may have been empty the first go around, but now it has an item
in it.
</p>
<p>
I'm building River as the first phase of a larger project, but would
be a whole different talk that hopefully I'll be able to do some day
when I have something to demo. I'm always happy to rant about it if
you ask though :).
</p>
<p>
If the group is interested I would be showing an AppKit GUI
implementation of the logic puzzle Akari running in the system and
digging in to how things work a bit (don't worry, I won't show the
particularly crazy c++ bits). I'll also show an interactive
visualization of the in-memory graph that allows you to navigate it
hierarchically which makes a great debugging tool.
</p>
</blockquote>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250464786.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250464786/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, August 30, 2013 at 11:07am</strong> and last updated <br /><strong>Monday, November 11, 2013 at 5:03pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504654802014-01-12T01:03:27-08:002014-01-13T15:21:25-08:00pdxfunc: Portland Functional Programming Study GroupMonday, January 13, 2014 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504654802014-01-13T19:00:00-08:002014-01-13T21:00:00-08:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-01-13T19:00:00" datetime="2014-01-13T19:00:00">Monday, January 13, 2014 from 7</time>–<time class="dtend dt-end" title="2014-01-13T21:00:00" datetime="2014-01-13T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Jim Snow will give a short presentation on some Haskell code he wrote to explore <a href="http://en.wikipedia.org/wiki/Just_intonation">just intonation</a> tuning systems. He uses this to figure out where to to put the frets on some just intonation <a href="http://jsnow.bootlegether.net/cbg/justintonation.html">guitars he's built</a>, among other things.</p>
<p>Additionally, whatever other topics people bring up for discussion between now and then are welcome, too!</p>
<p>See the mailing list for details on this month's agenda:
<a href="https://groups.google.com/forum/#!forum/pdxfunc">https://groups.google.com/forum/#!forum/pdxfunc</a></p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250465480.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250465480/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, January 12, 2014 at 1:03am</strong> and last updated <br /><strong>Monday, January 13, 2014 at 3:21pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504655782014-01-25T00:26:55-08:002014-02-10T11:45:04-08:00pdxfunc: Portland Functional Programming Study GroupMonday, February 10, 2014 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504655782014-02-10T19:00:00-08:002014-02-10T21:00:00-08:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-02-10T19:00:00" datetime="2014-02-10T19:00:00">Monday, February 10, 2014 from 7</time>–<time class="dtend dt-end" title="2014-02-10T21:00:00" datetime="2014-02-10T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>See the mailing list for details on this month's agenda:
<a href="https://groups.google.com/forum/#!forum/pdxfunc">https://groups.google.com/forum/#!forum/pdxfunc</a></p>
<p>Jake Brownson will report on the experience of implementing both an Akari logic puzzle solver and generator in both Clojure and Haskell. Some discussion will be had, and hopefully he'll get some questions answered.</p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250465578.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250465578/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Saturday, January 25, 2014 at 12:26am</strong> and last updated <br /><strong>Monday, February 10, 2014 at 11:45am</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504658122014-03-10T12:43:14-07:002014-03-10T17:01:25-07:00PdxFuncMonday, March 10, 2014 from 7-9pm at Rentrak - Downtownhttp://calagator.org/events/12504658122014-03-10T19:00:00-07:002014-03-10T21:00:00-07:00<div class="vevent">
<h1 class="summary">PdxFunc</h1>
<div class='date'><time class="dtstart dt-start" title="2014-03-10T19:00:00" datetime="2014-03-10T19:00:00">Monday, March 10, 2014 from 7</time>–<time class="dtend dt-end" title="2014-03-10T21:00:00" datetime="2014-03-10T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202394343' class='url'>
<span class='fn org'>Rentrak - Downtown</span>
</a>
<div class="adr">
<div class="street-address">529 SW 3rd Avenue, Floor 4</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=529%20SW%203rd%20Avenue,%20Floor%204,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Speakers:
Jake Brownson,
Leif</p>
<p>Hope to see you there!</p>
<p>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250465812.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250465812/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, March 10, 2014 at 12:43pm</strong> and last updated <br /><strong>Monday, March 10, 2014 at 5:01pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504660052014-04-11T16:26:26-07:002014-04-11T16:36:54-07:00pdxfunc: Portland Functional Programming Study GroupMonday, April 14, 2014 from 7-9pm at Urban Airship Inchttp://calagator.org/events/12504660052014-04-14T19:00:00-07:002014-04-14T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-04-14T19:00:00" datetime="2014-04-14T19:00:00">Monday, April 14, 2014 from 7</time>–<time class="dtend dt-end" title="2014-04-14T21:00:00" datetime="2014-04-14T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202393660' class='url'>
<span class='fn org'>Urban Airship Inc</span>
</a>
<div class="adr">
<div class="street-address">1417 NW Everett St, Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1417%20NW%20Everett%20St,%20Suite%20300,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This month <a href="https://twitter.com/jamey_sharp">Jamey Sharp</a> is presenting his work on the "process calculus" language LOTOS, specically, a compiler written in Haskell.</p>
<blockquote>
<p>I've been working on a Haskell compiler for a language called LOTOS over the last two weeks, and I'd like to share its implementation with the group. It generates event-driven imperative code from a "process
calculus" language (distant cousin to the concurrency model of Erlang or Go).</p>
<p>My goal is to make the presentation accessible for folks who don't have a compilers background, and introduce some Haskell tricks folks may not have seen. With help from the audience I think we can do this. That said, someone should tell me how short to keep the talk because I've probably spent 100 hours writing the code and could fill a good fraction of that explaining it.</p>
<p>You can follow my progress on GitHub: </p>
<a href="https://github.com/jameysharp/lotos">https://github.com/jameysharp/lotos</a>
<p>
Check out the README for notes on the device driver synthesis language that inspired me to start this project, a high-level description of the compilation strategy I've taken, and possible future directions for the project.</p>
</blockquote>
<p>Also if there's time, Jim Snow will present on his Glome ray tracer written in Haskell:</p>
<blockquote>
<p>
I've been working on <a href="http://www.haskell.org/haskellwiki/Glome">Glome</a> lately, and it's probably about time I gave another short talk about it.</p>
<p>
Glome is a ray tracer written in Haskell. It has a few nice features, such as a pretty good acceleration structure (basically, a hierarchical tree of bounding volumes) so that rendering complex scenes goes pretty fast, CSG support (you can subtract one volume from another or take the intersection of multiple volumes) and a decent set of basic primitives.</p>
<p>Some recent changes are more general types for textures (basically, you can define your own lighting model) and the ability to place arbitrary tags on objects so that when you trace a ray, you get back a list of tags that you can use to identify the thing (or things) that a ray hit. Hopefully, this will make Glome a lot more useful for general computational geometry tasks and for interactive applications. (Glome is still too slow to be a serious competitor to OpenGL, but it's at least approaching the point where rendering in realtime is almost tolerable.)</p>
</blockquote>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466005.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466005/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, April 11, 2014 at 4:26pm</strong> and last updated <br /><strong>Friday, April 11, 2014 at 4:36pm</strong>.
</div>
</div>
</div>
45.5254 -122.6858tag:calagator.org,2005:Calagator::Event/12504661282014-05-05T10:16:06-07:002014-05-05T10:16:06-07:00pdxfunc: Portland Functional Programming Study GroupMonday, May 12, 2014 from 7-9pm at Urban Airship Inchttp://calagator.org/events/12504661282014-05-12T19:00:00-07:002014-05-12T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-05-12T19:00:00" datetime="2014-05-12T19:00:00">Monday, May 12, 2014 from 7</time>–<time class="dtend dt-end" title="2014-05-12T21:00:00" datetime="2014-05-12T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202393660' class='url'>
<span class='fn org'>Urban Airship Inc</span>
</a>
<div class="adr">
<div class="street-address">1417 NW Everett St, Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1417%20NW%20Everett%20St,%20Suite%20300,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Jim Snow will present on his Glome ray tracer written in Haskell:</p>
<blockquote>
<p>
I've been working on <a href="http://www.haskell.org/haskellwiki/Glome">Glome</a> lately, and it's probably about time I gave another short talk about it.</p>
<p>
Glome is a ray tracer written in Haskell. It has a few nice features, such as a pretty good acceleration structure (basically, a hierarchical tree of bounding volumes) so that rendering complex scenes goes pretty fast, CSG support (you can subtract one volume from another or take the intersection of multiple volumes) and a decent set of basic primitives.</p>
<p>Some recent changes are more general types for textures (basically, you can define your own lighting model) and the ability to place arbitrary tags on objects so that when you trace a ray, you get back a list of tags that you can use to identify the thing (or things) that a ray hit. Hopefully, this will make Glome a lot more useful for general computational geometry tasks and for interactive applications. (Glome is still too slow to be a serious competitor to OpenGL, but it's at least approaching the point where rendering in realtime is almost tolerable.)</p>
</blockquote>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466128.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466128/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, May 5, 2014 at 10:16am</strong>.
</div>
</div>
</div>
45.5254 -122.6858tag:calagator.org,2005:Calagator::Event/12504663852014-06-03T15:39:33-07:002014-06-03T15:41:47-07:00Idris (dependently-typed lang) meetup with Edwin BradyFriday, June 6, 2014 from 5-8:30pm at Lucky Labrador Beer Hallhttp://calagator.org/events/12504663852014-06-06T17:00:00-07:002014-06-06T20:30:00-07:00<div class="vevent">
<h1 class="summary">Idris (dependently-typed lang) meetup with Edwin Brady</h1>
<div class='date'><time class="dtstart dt-start" title="2014-06-06T17:00:00" datetime="2014-06-06T17:00:00">Friday, June 6, 2014 from 5</time>–<time class="dtend dt-end" title="2014-06-06T20:30:00" datetime="2014-06-06T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390038' class='url'>
<span class='fn org'>Lucky Labrador Beer Hall</span>
</a>
<div class="adr">
<div class="street-address">1945 NW Quimby</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1945%20NW%20Quimby,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Idris is a dependently typed language that looks pretty much like Haskell with depedent types.</p>
<p>Its creator, Edwin Brady will be in town this Friday, and says he can give an impromptu talk or demo on some of his latest work in the language.</p>
<p>Come get your copy of the Idris compiler autographed!</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.idris-lang.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/dependent types">dependent types</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/idris">idris</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466385.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466385/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, June 3, 2014 at 3:39pm</strong> and last updated <br /><strong>Tuesday, June 3, 2014 at 3:41pm</strong>.
</div>
</div>
</div>
45.5335 -122.6915tag:calagator.org,2005:Calagator::Event/12504663992014-06-06T10:39:22-07:002014-06-07T15:38:10-07:00pdxfunc: Portland Functional Programming Study GroupMonday, June 9, 2014 from 7-9pm at Urban Airship Inchttp://calagator.org/events/12504663992014-06-09T19:00:00-07:002014-06-09T21:00:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-06-09T19:00:00" datetime="2014-06-09T19:00:00">Monday, June 9, 2014 from 7</time>–<time class="dtend dt-end" title="2014-06-09T21:00:00" datetime="2014-06-09T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202393660' class='url'>
<span class='fn org'>Urban Airship Inc</span>
</a>
<div class="adr">
<div class="street-address">1417 NW Everett St, Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1417%20NW%20Everett%20St,%20Suite%20300,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466399.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466399/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, June 6, 2014 at 10:39am</strong> and last updated <br /><strong>Saturday, June 7, 2014 at 3:38pm</strong>.
</div>
</div>
</div>
45.5254 -122.6858tag:calagator.org,2005:Calagator::Event/12504664152014-06-09T14:41:10-07:002014-06-09T14:41:10-07:00Galois tech talk: Haskell BytesFriday, June 13, 2014 from 11am-noon at Galois, Inchttp://calagator.org/events/12504664152014-06-13T11:00:00-07:002014-06-13T12:00:00-07:00<div class="vevent">
<h1 class="summary">Galois tech talk: Haskell Bytes</h1>
<div class='date'><time class="dtstart dt-start" title="2014-06-13T11:00:00" datetime="2014-06-13T11:00:00">Friday, June 13, 2014 from 11am</time>–<time class="dtend dt-end" title="2014-06-13T12:00:00" datetime="2014-06-13T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>speaker: Joachim Breitner</p>
<p>abstract: We will take you on a guided tour through the memory of a running Haskell program and get to peek at the raw bytes of Haskell values. We’ll see how uniformity allows for polymorphic functions and data structures, where the garbage collector finds the information it needs and learn to predict how large certain values tend to become. With the help of a visualization tool (ghc-vis) we will also see laziness and sharing at work, and reveal the mystery of how Haskell fits infinite data structures into a finite amount of memory.</p>
<p>bio: Joachim Breitner is a PhD student at the Karlsruhe Institute of Technology, Germany, where he works on the semantics of lazy functional programming language and on interactive theorem provers. He maintains the Haskell packages for Debian and Ubuntu and contributes to GHC. When he is AFK, he enjoys board games, swing dancing, softball and paragliding.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2014/6/9/tech-talk-haskell-bytes.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/Galois tech talk">Galois tech talk</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/runtime">runtime</a>, <a class="p-category" href="/events/tag/visualization">visualization</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466415.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466415/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, June 9, 2014 at 2:41pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504664192014-06-09T17:45:07-07:002014-06-13T12:27:52-07:00Haskell Office HoursMonday, June 30, 2014 from 5:30-7:30pm at Galois, Inchttp://calagator.org/events/12504664192014-06-30T17:30:00-07:002014-06-30T19:30:00-07:00<div class="vevent">
<h1 class="summary">Haskell Office Hours</h1>
<div class='date'><time class="dtstart dt-start" title="2014-06-30T17:30:00" datetime="2014-06-30T17:30:00">Monday, June 30, 2014 from 5:30</time>–<time class="dtend dt-end" title="2014-06-30T19:30:00" datetime="2014-06-30T19:30:00">7:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>(from the Meetup page, please RSVP there!)</p>
<p>Our inaugural meeting will be a full-fledged office hours session! Bring your projects, or just your excitement for learning.</p>
<p>We will also be taking feedback on the format of the meetup, the scheduling, and anything else that will help make this a valuable resource for you. If you are not able to attend, let us know if there's anything we can do to help make it work in the future.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.meetup.com/Portland-Haskell-Office-Hours/events/188165452/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/peer mentoring">peer mentoring</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466419.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466419/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, June 9, 2014 at 5:45pm</strong> and last updated <br /><strong>Friday, June 13, 2014 at 12:27pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504666072014-07-07T11:54:53-07:002014-07-07T11:54:53-07:00Galois tech talk: Sunroof and a Blank Canvas: A tail of two DSLsTuesday, July 8, 2014 from 11am-noon at Galois, Inchttp://calagator.org/events/12504666072014-07-08T11:00:00-07:002014-07-08T12:00:00-07:00<div class="vevent">
<h1 class="summary">Galois tech talk: Sunroof and a Blank Canvas: A tail of two DSLs</h1>
<div class='date'><time class="dtstart dt-start" title="2014-07-08T11:00:00" datetime="2014-07-08T11:00:00">Tuesday, July 8, 2014 from 11am</time>–<time class="dtend dt-end" title="2014-07-08T12:00:00" datetime="2014-07-08T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>abstract: Sunroof is an embedded Haskell Domain Specific Language (DSL) that compiles to JavaScript. Blank Canvas is an embedded Haskell DSL that provides direct access to the HTML5 JavaScript Canvas. Both DSLs superficially provide the same capabilities, but make different trade-offs in the DSL design space. Sunroof uses monadic reification to enable bindings in the DSL to be translated into bindings in JavaScript, while blank canvas has every binding make a round trip from Haskell, to JavaScript, back to Haskell. In this talk, we will present the specifics of both DSLs, using examples, then use both DSLs to outline the difference choices available when designing and implementing embedded DSLs in Haskell.</p>
<p>bio: Andrew (Andy) Gill was born and educated in Scotland, and has spent his professional career in the United States, working both in industry, and academia. Andy received his Ph.D. from the University of Glasgow in 1996, then spent three years in industry as a compiler developer, and a year in academia as a principal project scientist. He co-founded Galois in 2000, a technology transfer company that used language technologies to create trustworthiness in critical systems. In 2008, he joined the University of Kansas, and in 2014 he was a recipient of the NSF CAREER Award.</p>
<p>Andy believes that functional languages like Haskell are a great medium for expressing algorithms and solving problems. Since returning to academia, he has targeted the application areas of telemetry and signal processing, specializing in generating high performance circuits from specifications. His research interests include optimization, language design, debugging, and dependability. The long-term goal of his research is to offer engineers and practitioners the opportunity to write clear and high-level executable specifications that can realistically be compiled into efficient implementations.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://corp.galois.com/blog/2014/7/7/tech-talk-sunroof-and-a-blank-canvas-a-tail-of-two-dsls.html">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/DSL">DSL</a>, <a class="p-category" href="/events/tag/Galois tech talk">Galois tech talk</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/javascript"><img title="javascript" alt="javascript" src="/assets/tag_icons/javascript-6abd4d1aeb784c814b3ef6ce94436f030aad9dfe0f5255ea43a181edc84c4c0c.png" /> javascript</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466607.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466607/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, July 7, 2014 at 11:54am</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504666472014-07-14T00:00:01-07:002014-07-14T00:00:01-07:00pdxfunc: Portland Functional Programming Study GroupMonday, July 14, 2014 from 6:30-8:30pm at Urban Airship Inchttp://calagator.org/events/12504666472014-07-14T18:30:00-07:002014-07-14T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-07-14T18:30:00" datetime="2014-07-14T18:30:00">Monday, July 14, 2014 from 6:30</time>–<time class="dtend dt-end" title="2014-07-14T20:30:00" datetime="2014-07-14T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202393660' class='url'>
<span class='fn org'>Urban Airship Inc</span>
</a>
<div class="adr">
<div class="street-address">1417 NW Everett St, Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1417%20NW%20Everett%20St,%20Suite%20300,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>"Effects tracking shoot-out":
Justin Bailey and Leif Warner will compare two different approaches for tracking effects in pure code proposed by Oleg Kiselyov and Edwin Brady, respectively. Justin will be presenting based off the approach described in Oleg's paper "Extensible Effects -- An Alternative to Monad Transformers" implemented in Haskell, while Leif will be presenting the DSL Edwin implemented in the Idris language.</p>
<p>"effects" are usually tracked in languages like Haskell with monads, and often combined with monad transformers. Both of these approaches aim for a more elegant alternative to monad transformers for this.</p>
<p>From the intro to Edwin's paper:</p>
<blockquote><p>Monad transformers can quickly become unwieldy when
there are lots of effects to manage, leading to a temptation in
larger programs to combine everything into one coarse-grained
state and exception monad.</p></blockquote>
<p>And the intro to Oleg's paper:</p>
<blockquote>We design and implement a library that solves the long-standing problem of combining effects without imposing restrictions on their interactions (such as static ordering). Effects arise from interactions between a client and an effect handler (interpreter); interactions may vary throughout the program and dynamically adapt to execution conditions. Existing code that relies on monad transformers may be used with our library with minor changes, gaining efficiency over long monad stacks. In addition, our library has greater expressiveness, allowing for practical idioms that are inefficient, cumbersome, or outright impossible with monad transformers.
Our alternative to a monad transformer stack is a single monad, for the coroutine-like communication of a client with its handler. Its type reflects possible requests, i.e., possible effects of a computation. To support arbitrary effects and their combinations, requests are values of an extensible union type, which allows adding and, notably, subtracting summands. Extending and, upon handling, shrinking of the union of possible requests is reflected in its type, yielding a type-and-effect system for Haskell. The library is lightweight, generalizing the extensible exception handling to other effects and accurately tracking them in types.
</blockquote>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466647.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466647/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, July 14, 2014 at midnight</strong>.
</div>
</div>
</div>
45.5254 -122.6858tag:calagator.org,2005:Calagator::Event/12504667962014-08-09T23:00:03-07:002014-08-09T23:00:03-07:00pdxfunc: Portland Functional Programming Study GroupMonday, August 11, 2014 from 6:30-8:30pmhttp://calagator.org/events/12504667962014-08-11T18:30:00-07:002014-08-11T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-08-11T18:30:00" datetime="2014-08-11T18:30:00">Monday, August 11, 2014 from 6:30</time>–<time class="dtend dt-end" title="2014-08-11T20:30:00" datetime="2014-08-11T20:30:00">8:30pm</time></div>
<div class="description">
<p>See the mailing list for details on this month's agenda:
<a href="https://groups.google.com/forum/#!forum/pdxfunc">https://groups.google.com/forum/#!forum/pdxfunc</a></p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466796.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466796/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Saturday, August 9, 2014 at 11pm</strong>.
</div>
</div>
</div>
tag:calagator.org,2005:Calagator::Event/12504669462014-09-07T12:34:51-07:002014-09-07T12:34:51-07:00pdxfunc: Portland Functional Programming Study GroupMonday, September 8, 2014 from 6:30-8:30pm at Urban Airship Inchttp://calagator.org/events/12504669462014-09-08T18:30:00-07:002014-09-08T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-09-08T18:30:00" datetime="2014-09-08T18:30:00">Monday, September 8, 2014 from 6:30</time>–<time class="dtend dt-end" title="2014-09-08T20:30:00" datetime="2014-09-08T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202393660' class='url'>
<span class='fn org'>Urban Airship Inc</span>
</a>
<div class="adr">
<div class="street-address">1417 NW Everett St, Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1417%20NW%20Everett%20St,%20Suite%20300,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>See the mailing list for details on this month's agenda:
<a href="https://groups.google.com/forum/#!forum/pdxfunc">https://groups.google.com/forum/#!forum/pdxfunc</a></p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250466946.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250466946/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, September 7, 2014 at 12:34pm</strong>.
</div>
</div>
</div>
45.5254 -122.6858tag:calagator.org,2005:Calagator::Event/12504671402014-10-12T12:27:59-07:002014-10-12T12:27:59-07:00pdxfunc: Portland Functional Programming Study GroupMonday, October 13, 2014 from 6:30-8:30pm at Urban Airship Inchttp://calagator.org/events/12504671402014-10-13T18:30:00-07:002014-10-13T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-10-13T18:30:00" datetime="2014-10-13T18:30:00">Monday, October 13, 2014 from 6:30</time>–<time class="dtend dt-end" title="2014-10-13T20:30:00" datetime="2014-10-13T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202393660' class='url'>
<span class='fn org'>Urban Airship Inc</span>
</a>
<div class="adr">
<div class="street-address">1417 NW Everett St, Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1417%20NW%20Everett%20St,%20Suite%20300,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This month we get to have David Christiansen, the main developer of Idris after Edwin himself, reprise his presentation from this year's Symposium on Implementation and Application of Functional Languages: "Type-Directed Elaboration of Quasiquotations: A High-Level Syntax for Low-Level Reflection."
This enables using the user-visible surface syntax of the language for working with compile-time metaprogramming on reflected terms.</p>
<p>More information can be found at:
<a href="http://www.davidchristiansen.dk/2014/08/20/new-paper-submission-type-directed-elaboration-of-quasiquotations-a-high-level-syntax-for-low-level-reflection/">http://www.davidchristiansen.dk/2014/08/20/new-paper-submission-type-directed-elaboration-of-quasiquotations-a-high-level-syntax-for-low-level-reflection/</a></p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250467140.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250467140/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, October 12, 2014 at 12:27pm</strong>.
</div>
</div>
</div>
45.5254 -122.6858tag:calagator.org,2005:Calagator::Event/12504671902014-10-19T17:05:24-07:002014-10-19T17:05:24-07:00pdxfunc: Portland Functional Programming Study GroupMonday, November 10, 2014 from 6:30-8:30pm at Rentrak - Downtownhttp://calagator.org/events/12504671902014-11-10T18:30:00-08:002014-11-10T20:30:00-08:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-11-10T18:30:00" datetime="2014-11-10T18:30:00">Monday, November 10, 2014 from 6:30</time>–<time class="dtend dt-end" title="2014-11-10T20:30:00" datetime="2014-11-10T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202394343' class='url'>
<span class='fn org'>Rentrak - Downtown</span>
</a>
<div class="adr">
<div class="street-address">529 SW 3rd Avenue, Floor 4</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=529%20SW%203rd%20Avenue,%20Floor%204,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>See the mailing list for details on this month's agenda:
<a href="https://groups.google.com/forum/#!forum/pdxfunc">https://groups.google.com/forum/#!forum/pdxfunc</a></p>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/agda">agda</a>, <a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/idris">idris</a>, <a class="p-category" href="/events/tag/monads">monads</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250467190.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250467190/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, October 19, 2014 at 5:05pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504674642014-12-07T23:46:27-08:002014-12-07T23:46:27-08:00pdxfunc: Portland Functional Programming Study GroupSunday, December 7, 2014 from 7-9pm at Janrain Headquartershttp://calagator.org/events/12504674642014-12-07T19:00:00-08:002014-12-07T21:00:00-08:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2014-12-07T19:00:00" datetime="2014-12-07T19:00:00">Sunday, December 7, 2014 from 7</time>–<time class="dtend dt-end" title="2014-12-07T21:00:00" datetime="2014-12-07T21:00:00">9pm</time></div>
<div class="location vcard">
<a href='/venues/202392384' class='url'>
<span class='fn org'>Janrain Headquarters</span>
</a>
<div class="adr">
<div class="street-address">519 SW 3rd Ave. Suite 200</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=519%20SW%203rd%20Ave.%20Suite%20200,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Jake Brownson will be presenting on his project River:</p>
<blockquote cite="https://groups.google.com/d/msg/pdxfunc/dBnDkdn_uPw/Z8Dwtz5OYeAJ">
<p>
River is a purely functional reactive system built on top of C++11
with some Ruby metaprogramming. It's reactive in the sense that as
inputs to the program change invalidations ripple through a big graph
of functions until they hit the outputs which greedily reevaluate the
graph. One significant difference from other reactive systems is that
there is no notion of time, or sequences of values at the language
level. There is no notion of events, or continuous streams of values.
It is just a big function that gets reevaluated as the input changes.
We can talk about these things using the system, but they aren't first
class.
</p>
<p>
One key idea is to push all of the logical state out of the program
itself and just make the outputs a big function of the inputs to the
program. One big function.
</p>
<p>
Inputs to the program can be things like the total console input as a
list of characters, a list of clicks the user has made, etc. Outputs
of the program are things like "There should be a window on screen"
"The window should be called 'Frank'", "The window should have this
button on it", etc. When the user clicks a button in the window the
inputs change and a new output is calculated. Maybe the window is now
called "Bob". Maybe the window no longer is on screen, but there's no
state in the program that isn't a function of the inputs.
</p>
<p>
Interactive Haskell programs work by ultimately evaluating some lazy
list of things that doesn't end until the program is terminated.
They're always in a state of being partially evaluated until the
program ends. In each invalidation cycle the River program is fully
evaluated, but the bits of it that are dependent on inputs that could
change stay in memory so they can respond to changing inputs. An input
list may have been empty the first go around, but now it has an item
in it.
</p>
<p>
I'm building River as the first phase of a larger project, but would
be a whole different talk that hopefully I'll be able to do some day
when I have something to demo. I'm always happy to rant about it if
you ask though :).
</p>
<p>
If the group is interested I would be showing an AppKit GUI
implementation of the logic puzzle Akari running in the system and
digging in to how things work a bit (don't worry, I won't show the
particularly crazy c++ bits). I'll also show an interactive
visualization of the in-memory graph that allows you to navigate it
hierarchically which makes a great debugging tool.
</p>
</blockquote>
<p><i>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, OCaml, Erlang, Scala and others, as well as using functional techniques in non-functional languages. The group meets regularly and provides presentations, demos and discussions applicable to all skill levels, from newbies and experts. The meetings are usually on the second Monday of the month.
</i></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250467464.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250467464/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, December 7, 2014 at 11:46pm</strong>.
</div>
</div>
</div>
45.5193 -122.6751tag:calagator.org,2005:Calagator::Event/12504674682014-12-08T14:11:06-08:002014-12-08T14:11:06-08:00Galois tech talk: Making GHC work for youFriday, December 12, 2014 from 11am-noon at Galois Inchttp://calagator.org/events/12504674682014-12-12T11:00:00-08:002014-12-12T12:00:00-08:00<div class="vevent">
<h1 class="summary">Galois tech talk: Making GHC work for you</h1>
<div class='date'><time class="dtstart dt-start" title="2014-12-12T11:00:00" datetime="2014-12-12T11:00:00">Friday, December 12, 2014 from 11am</time>–<time class="dtend dt-end" title="2014-12-12T12:00:00" datetime="2014-12-12T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202394717' class='url'>
<span class='fn org'>Galois Inc</span>
</a>
<div class="adr">
<div class="street-address">421 Sw 6th Ave Ste 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20Sw%206th%20Ave%20Ste%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>abstract:
GHC is a state-of-the-art optimizing compiler that is constantly being improved. But despite all of the hard work by the developers, you occasionally find yourself in need of a feature that GHC does not (yet) support. Luckily for us, GHC does have multiple extension points built into the standard compilation pipeline, in addition to exposing its functionality as a library.</p>
<p>In this talk I’ll give an overview of GHC’s internal architecture and existing extension points. I’ll also walk through a recent extension I wrote to improve the debugging experience in embedded DSLs.</p>
<p>bio:
Eric Seidel is a 3rd year PhD student at UC San Diego, where he works on the LiquidHaskell program-verification tool.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://galois.com/blog/2014/12/tech-talk-making-ghc-work/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/Galois tech talk">Galois tech talk</a>, <a class="p-category" href="/events/tag/LiquidHaskell">LiquidHaskell</a>, <a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250467468.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250467468/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, December 8, 2014 at 2:11pm</strong>.
</div>
</div>
</div>
45.5208 -122.6779tag:calagator.org,2005:Calagator::Event/12504676142015-01-09T15:35:02-08:002015-01-09T15:35:02-08:00Galois Tech Talk: Dependently typed functional programming in Idris (part 1 of 3)Thursday, January 15, 2015 from 3:30-4:30pm at Galois Inchttp://calagator.org/events/12504676142015-01-15T15:30:00-08:002015-01-15T16:30:00-08:00<div class="vevent">
<h1 class="summary">Galois Tech Talk: Dependently typed functional programming in Idris (part 1 of 3)</h1>
<div class='date'><time class="dtstart dt-start" title="2015-01-15T15:30:00" datetime="2015-01-15T15:30:00">Thursday, January 15, 2015 from 3:30</time>–<time class="dtend dt-end" title="2015-01-15T16:30:00" datetime="2015-01-15T16:30:00">4:30pm</time></div>
<div class="location vcard">
<a href='/venues/202394717' class='url'>
<span class='fn org'>Galois Inc</span>
</a>
<div class="adr">
<div class="street-address">421 Sw 6th Ave Ste 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20Sw%206th%20Ave%20Ste%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>abstract:
Idris is a pure functional language with full dependent types. In this series of tech talks, Idris contributor David Christiansen will provide an introduction to programming in Idris as well as using its development tools. Topics to be covered include the basics of dependent types, embedding DSLs in Idris, Idris’s notion of type providers, a general outline of the implementation strategy, the C FFI, and the effects library. Each talk has an associated set of exercises as well as suggested projects for further learning. Participants are expected to be familiar with functional programming in either Haskell or an ML.</p>
<p>bio:
David Raymond Christiansen is a Ph.D. student at the IT University of Copenhagen. For the last few months, he has been an intern at Galois, working on verifiable elections and better user interfaces for DSLs. His interests include functional programming languages, domain-specific languages, and environments that make them useful. David has contributed features such as type providers and error reflection to the Idris language as well as significant parts of the Emacs-based IDE. Additionally, he is a co-host of The Type Theory Podcast.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://galois.com/blog/2015/01/tech-talk-dependently-typed-functional-programming-idris-1-3/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/Galois tech talk">Galois tech talk</a>, <a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/idris">idris</a>, <a class="p-category" href="/events/tag/type theory">type theory</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250467614.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250467614/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, January 9, 2015 at 3:35pm</strong>.
</div>
</div>
</div>
45.5208 -122.6779tag:calagator.org,2005:Calagator::Event/12504683942015-05-05T12:56:35-07:002015-05-05T12:56:35-07:00pdxfunc: Portland Functional Programming Study GroupMonday, February 9, 2015 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504683942015-02-09T18:30:00-08:002015-02-09T20:30:00-08:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2015-02-09T18:30:00" datetime="2015-02-09T18:30:00">Monday, February 9, 2015 from 6:30</time>–<time class="dtend dt-end" title="2015-02-09T20:30:00" datetime="2015-02-09T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>See the <a href="https://groups.google.com/forum/#!forum/pdxfunc">mailing list</a> for details on this month's agenda.
Attendance is limited at this venue. RSVP via the <a href="http://www.meetup.com/Portland-Functional-Programming-Study-Group/">Meetup group</a>.</p>
<p><em>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming, based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, Erlang, OCaml, Lisp, Clojure, Scala, Oz, Agda, Idris, and others. The group meets regularly on the second Monday of the month for presentations, demos and discussions applicable to all skill levels, from newbies and experts.</em></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468394.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468394/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, May 5, 2015 at 12:56pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504680062015-03-04T17:55:25-08:002015-03-04T17:55:25-08:00pdxfunc: Portland Functional Programming Study GroupMonday, March 9, 2015 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504680062015-03-09T18:30:00-07:002015-03-09T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2015-03-09T18:30:00" datetime="2015-03-09T18:30:00">Monday, March 9, 2015 from 6:30</time>–<time class="dtend dt-end" title="2015-03-09T20:30:00" datetime="2015-03-09T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>See the <a href="https://groups.google.com/forum/#!forum/pdxfunc">mailing list</a> for details on this month's agenda.
Attendance is limited at this venue. RSVP via the <a href="http://www.meetup.com/Portland-Functional-Programming-Study-Group/">Meetup group</a>.</p>
<p><em>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming, based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, Erlang, OCaml, Lisp, Clojure, Scala, Oz, Agda, Idris, and others. The group meets regularly on the second Monday of the month for presentations, demos and discussions applicable to all skill levels, from newbies and experts.</em></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468006.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468006/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, March 4, 2015 at 5:55pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504681642015-04-03T10:45:16-07:002015-04-03T10:45:16-07:00Galois tech talk: From Haskell to Hardware via CCCsTuesday, April 7, 2015 from 11am-noon at Galois Inchttp://calagator.org/events/12504681642015-04-07T11:00:00-07:002015-04-07T12:00:00-07:00<div class="vevent">
<h1 class="summary">Galois tech talk: From Haskell to Hardware via CCCs</h1>
<div class='date'><time class="dtstart dt-start" title="2015-04-07T11:00:00" datetime="2015-04-07T11:00:00">Tuesday, April 7, 2015 from 11am</time>–<time class="dtend dt-end" title="2015-04-07T12:00:00" datetime="2015-04-07T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202394717' class='url'>
<span class='fn org'>Galois Inc</span>
</a>
<div class="adr">
<div class="street-address">421 Sw 6th Ave Ste 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20Sw%206th%20Ave%20Ste%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>abstract:
For the last several years, speed improvements in computing come mainly from increasing parallelism. Imperative programming, however, makes parallelization very difficult due to the many possible dependencies implied by effects. For decades, pure functional programming has held the promise of parallel execution while retaining the very simple semantics that enables practical, rigorous reasoning. This talk describes a prototype compiler from Haskell (not a library) to low-level hardware descriptions for massively parallel execution on reprogrammable logic devices. The compiler works by monomorphizing, miscellaneous other transformations, and conversion to the vocabulary of cartesian closed categories (CCCs), as captured in a small collection of Haskell type classes. One instance of those classes provides an interpretation as parallel circuits. I will show many examples of simple Haskell programs and corresponding compiler-generated circuits.</p>
<p>bio:
Conal Elliott has been working (and playing) in functional programming for more than 30 years. He especially enjoys applying semantic elegance and rigor to library design and optimized implementation. He invented the paradigm now known as “functional reactive programming” in the early 1990s, and then pioneered compilation techniques for high-performance, high-level embedded domain-specific languages, with applications including 2D and 3D computer graphics. The latter work included the first compilation of Haskell programs to GPU code, while maintaining precise and simple semantics and powerful composability, as well a high degree of optimization. Conal earned a BA in math with honors from the College of Creative Studies at UC Santa Barbara in 1982 and a PhD in Computer Science from Carnegie Mellon University in 1990. His latest position was at Tabula Inc, where he worked on chip specification and compiling Haskell to hardware for massively parallel execution until their closure in early 2015. Before Tabula, his positions included Architect at Sun Microsystems and Researcher in the Microsoft Research graphics group. He has also coached couples and led conscious relationship workshops together with his partner Holly Croydon, with whom he now lives on 20 acres in the woods in the California Gold Country. For publications, CV, professional blog, etc, see <a href="http://conal.net">http://conal.net</a>.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://galois.com/blog/2015/04/tech-talk-haskell-hardware-via-cccs/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/Galois tech talk">Galois tech talk</a>, <a class="p-category" href="/events/tag/compilation">compilation</a>, <a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468164.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468164/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, April 3, 2015 at 10:45am</strong>.
</div>
</div>
</div>
45.5208 -122.6779tag:calagator.org,2005:Calagator::Event/12504682392015-04-12T22:50:41-07:002015-04-12T22:50:41-07:00pdxfunc: Portland Functional Programming Study GroupMonday, April 13, 2015 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504682392015-04-13T18:30:00-07:002015-04-13T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2015-04-13T18:30:00" datetime="2015-04-13T18:30:00">Monday, April 13, 2015 from 6:30</time>–<time class="dtend dt-end" title="2015-04-13T20:30:00" datetime="2015-04-13T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>We have some interesting content lined up this month: Robert Dodier, a developer and project administrator on the Maxima project, has offered to give us a talk on it. Maxima is a computer algebra system written in Common Lisp. <a href="http://en.wikipedia.org/wiki/Maxima_(software)">http://en.wikipedia.org/wiki/Maxima_(software)</a></p>
<p>Also, time permitting, we'll hear about Haskell and Clojure versions of small command-line programs, such as one for parsing and displaying data from a weather API.</p>
<p>See the <a href="https://groups.google.com/forum/#!forum/pdxfunc">mailing list</a> for details on this month's agenda.
Attendance is limited at this venue. RSVP via the <a href="http://www.meetup.com/Portland-Functional-Programming-Study-Group/">Meetup group</a>.</p>
<p><em>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming, based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, Erlang, OCaml, Lisp, Clojure, Scala, Oz, Agda, Idris, and others. The group meets regularly on the second Monday of the month for presentations, demos and discussions applicable to all skill levels, from newbies and experts.</em></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://pdxfunc.org/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468239.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468239/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Sunday, April 12, 2015 at 10:50pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504684612015-05-08T17:14:03-07:002015-05-08T17:14:03-07:00pdxfunc: Portland Functional Programming Study GroupMonday, May 11, 2015 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504684612015-05-11T18:30:00-07:002015-05-11T20:30:00-07:00<div class="vevent">
<h1 class="summary">pdxfunc: Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2015-05-11T18:30:00" datetime="2015-05-11T18:30:00">Monday, May 11, 2015 from 6:30</time>–<time class="dtend dt-end" title="2015-05-11T20:30:00" datetime="2015-05-11T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Hoping to hear about Haskell and Clojure versions of small command-line programs, such as one for parsing and displaying data from a weather API.</p>
<p>See the <a href="https://groups.google.com/forum/#!forum/pdxfunc">mailing list</a> for details on this month's agenda.
Attendance is limited at this venue. RSVP via the <a href="http://www.meetup.com/Portland-Functional-Programming-Study-Group/">Meetup group</a>.</p>
<p><em>ABOUT THE GROUP: Join programmers, researchers and enthusiasts to discuss functional programming. pdxfunc is a study/user group exploring the world of functional programming, based in Portland, Oregon. The group welcomes programmers interested in all functional languages, including Haskell, Erlang, OCaml, Lisp, Clojure, Scala, Oz, Agda, Idris, and others. The group meets regularly on the second Monday of the month for presentations, demos and discussions applicable to all skill levels, from newbies and experts.</em></p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group/events/222337923/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468461.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468461/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, May 8, 2015 at 5:14pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504685832015-06-04T10:27:19-07:002015-06-10T09:13:52-07:00Functional Programming Study GroupMonday, June 8, 2015 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504685832015-06-08T18:30:00-07:002015-06-08T20:30:00-07:00<div class="vevent">
<h1 class="summary">Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2015-06-08T18:30:00" datetime="2015-06-08T18:30:00">Monday, June 8, 2015 from 6:30</time>–<time class="dtend dt-end" title="2015-06-08T20:30:00" datetime="2015-06-08T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Levent Erkok will be giving an informal talk on the SBV library that he's been working on for quite some time now (<a href="https://hackage.haskell.org/package/sbv">https://hackage.haskell.org/package/sbv</a>), and a possible brief intro to SAT/SMT solving.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group/events/222743447/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category external epdx group" href="http://epdx.org/groups/11">epdx:group=11</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/meetup:event=222743447">meetup:event=222743447</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/pdxfunc">pdxfunc</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468583.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468583/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996335353">http://www.meetup.com/Portland-Functi...</a> <br /><strong>Thursday, June 4, 2015 at 10:27am</strong> and last updated <br /><strong>Wednesday, June 10, 2015 at 9:13am</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504689782015-08-26T18:19:19-07:002015-08-26T18:26:30-07:00Snowdrift.coop casual meetup / chatFriday, August 28, 2015 from 3-7:30pm at Lucky Labrador Brew Pubhttp://calagator.org/events/12504689782015-08-28T15:00:00-07:002015-08-28T19:30:00-07:00<div class="vevent">
<h1 class="summary">Snowdrift.coop casual meetup / chat</h1>
<div class='date'><time class="dtstart dt-start" title="2015-08-28T15:00:00" datetime="2015-08-28T15:00:00">Friday, August 28, 2015 from 3</time>–<time class="dtend dt-end" title="2015-08-28T19:30:00" datetime="2015-08-28T19:30:00">7:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390282' class='url'>
<span class='fn org'>Lucky Labrador Brew Pub</span>
</a>
<div class="adr">
<div class="street-address">915 SE Hawthorne Boulevard</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97214</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=915%20SE%20Hawthorne%20Boulevard,%20Portland%20Oregon%2097214%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Snowdrift.coop is a volunteer-built non-profit community project focused on a new sustainable matching system to coordinate the global community in better funding shareable freely-licensed works. The Snowdrift.coop platform uses the Yesod web framework written in Haskell. Other technologies and relevant work includes basic HTML/CSS/JavaScript and general design, organizing, and other non-technical tasks.</p>
<p>This is the second local Portland meetup. While the community includes people on many continents across the globe, we have a strong Portland foundation with one of the co-founders, the lead developer, and several active volunteers and supporters in the area.</p>
<p>At this meetup, we'll mostly discuss the project overall status, strategy, any other casual chat, planning, and organizing. We'll also focus on just folks getting to know each other as local Portlanders involved in the project. Complete newcomers or just folks curious about the idea are totally welcome, and no particular experience or skills are needed to get involved.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://snowdrift.coop">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/free culture">free culture</a>, <a class="p-category" href="/events/tag/free software">free software</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/libre">libre</a>, <a class="p-category" href="/events/tag/meetup">meetup</a>, <a class="p-category" href="/events/tag/non-profit">non-profit</a>, <a class="p-category" href="/events/tag/open source">open source</a>, <a class="p-category" href="/events/tag/volunteer">volunteer</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250468978.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250468978/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, August 26, 2015 at 6:19pm</strong> and last updated <br /><strong>Wednesday, August 26, 2015 at 6:26pm</strong>.
</div>
</div>
</div>
45.5124 -122.6563tag:calagator.org,2005:Calagator::Event/12504692072015-10-09T17:39:09-07:002015-10-09T17:40:20-07:00Haskell Office HoursThursday, November 12, 2015 from 5:30-7:30pm at Galois, Inchttp://calagator.org/events/12504692072015-11-12T17:30:00-08:002015-11-12T19:30:00-08:00<div class="vevent">
<h1 class="summary">Haskell Office Hours</h1>
<div class='date'><time class="dtstart dt-start" title="2015-11-12T17:30:00" datetime="2015-11-12T17:30:00">Thursday, November 12, 2015 from 5:30</time>–<time class="dtend dt-end" title="2015-11-12T19:30:00" datetime="2015-11-12T19:30:00">7:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390439' class='url'>
<span class='fn org'>Galois, Inc</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97204</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20OR%2097204%20US'>map</a>)
</div>
</div>
<div class="description">
<p>(from the Meetup description):</p>
<p>Welcome to Portland Haskell Office Hours! Bring your projects, or just your excitement for learning.</p>
<p>We will still be taking feedback on the format of the meetup, the scheduling, and anything else that will help make this a valuable resource for you. If you are not able to attend, let us know if there's anything we can do to help make it work in the future.</p>
<p>--</p>
<p>About Haskell Office Hours:</p>
<p>Show up with a project you'd like to share or a problem that you're stuck on, and we'll learn together in small, supportive groups! An "Office Hours" meetup is an opportunity for people of all skill levels to come together, learn, and have fun. Our goal is to focus on inclusion and active participation through teaching and mentorship.</p>
<p>The meetup is hosted at Galois, which uses Haskell extensively in industry, and is well-attended by Galwegians who are eager to share their excitement for Haskell and functional programming. This group is very new, so you still have an opportunity to shape how we do things. If the schedule doesn't work for you, or if we can do anything to help you feel more safe and welcome, let us know!</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="http://www.meetup.com/Portland-Haskell-Office-Hours/events/225956310/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/Mentors">Mentors</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/meetup">meetup</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250469207.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250469207/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, October 9, 2015 at 5:39pm</strong> and last updated <br /><strong>Friday, October 9, 2015 at 5:40pm</strong>.
</div>
</div>
</div>
45.5204 -122.6779tag:calagator.org,2005:Calagator::Event/12504693852015-11-11T14:29:51-08:002015-11-11T14:29:51-08:00Snowdrift.coop meetup / chat / hack sessionSaturday, December 5, 2015 from noon-5:30pm at Lucky Labrador Brew Pubhttp://calagator.org/events/12504693852015-12-05T12:00:00-08:002015-12-05T17:30:00-08:00<div class="vevent">
<h1 class="summary">Snowdrift.coop meetup / chat / hack session</h1>
<div class='date'><time class="dtstart dt-start" title="2015-12-05T12:00:00" datetime="2015-12-05T12:00:00">Saturday, December 5, 2015 from noon</time>–<time class="dtend dt-end" title="2015-12-05T17:30:00" datetime="2015-12-05T17:30:00">5:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390282' class='url'>
<span class='fn org'>Lucky Labrador Brew Pub</span>
</a>
<div class="adr">
<div class="street-address">915 SE Hawthorne Boulevard</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97214</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=915%20SE%20Hawthorne%20Boulevard,%20Portland%20Oregon%2097214%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Snowdrift.coop is a volunteer-built non-profit community project focused on a new sustainable matching system to coordinate the global community in better funding shareable freely-licensed works. The Snowdrift.coop platform uses the Yesod web framework written in Haskell. Other technologies and relevant work includes basic HTML/CSS/JavaScript and general design, organizing, and other non-technical tasks like co-op structure issues.</p>
<p>While the community includes people on many continents across the globe, we have a strong Portland foundation with one of the co-founders, the lead developer, and several active volunteers and supporters in the area.</p>
<p>At this meetup, we'll mix casual chat with focusing on some refactoring on the Haskell side and hacking on HTML/CSS stuff for the <a href="https://snowdrift.coop/p/snowdrift/blog/new-design-2">new design</a>.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://snowdrift.coop">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/css">css</a>, <a class="p-category" href="/events/tag/free culture">free culture</a>, <a class="p-category" href="/events/tag/free software">free software</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/html"><img title="html" alt="html" src="/assets/tag_icons/html-acc89988ab4074a1ed21db7b726c4a140d1cd6f81d31c457bd4397802d3a673a.png" /> html</a>, <a class="p-category" href="/events/tag/libre">libre</a>, <a class="p-category" href="/events/tag/meetup">meetup</a>, <a class="p-category" href="/events/tag/non-profit">non-profit</a>, <a class="p-category" href="/events/tag/open source">open source</a>, <a class="p-category" href="/events/tag/volunteer">volunteer</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250469385.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250469385/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, November 11, 2015 at 2:29pm</strong>.
</div>
</div>
</div>
45.5124 -122.6563tag:calagator.org,2005:Calagator::Event/12504696552016-01-19T15:08:04-08:002016-01-19T15:08:04-08:00Snowdrift.coop meetup / SCALE-send-offThursday, January 21, 2016 from 6-8:30pm at Lucky Labrador Brew Pubhttp://calagator.org/events/12504696552016-01-21T18:00:00-08:002016-01-21T20:30:00-08:00<div class="vevent">
<h1 class="summary">Snowdrift.coop meetup / SCALE-send-off</h1>
<div class='date'><time class="dtstart dt-start" title="2016-01-21T18:00:00" datetime="2016-01-21T18:00:00">Thursday, January 21, 2016 from 6</time>–<time class="dtend dt-end" title="2016-01-21T20:30:00" datetime="2016-01-21T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202390282' class='url'>
<span class='fn org'>Lucky Labrador Brew Pub</span>
</a>
<div class="adr">
<div class="street-address">915 SE Hawthorne Boulevard</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97214</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=915%20SE%20Hawthorne%20Boulevard,%20Portland%20Oregon%2097214%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Snowdrift.coop is a non-profit community platform building a new sustainable patronage system for public goods (particularly free/libre/open works). The site uses the Yesod web framework written in Haskell alongside basic HTML/CSS/JavaScript. We welcome volunteers in all areas including non-technical general design, organizing, and other tasks like co-op structure issues.</p>
<p>We have a strong Portland foundation with one of the co-founders, the lead developer, and several active volunteers and supporters in the area.</p>
<p>At this meetup, we'll be meeting long-time volunteer Jason Harrer (aka JazzyEagle) who is in town for a rare business visit. We'll also be celebrating and wishing well to Aaron and Bryan who are heading down to the Southern California Linux Expo to promote Snowdrift.coop this weekend.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://snowdrift.coop">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/css">css</a>, <a class="p-category" href="/events/tag/free culture">free culture</a>, <a class="p-category" href="/events/tag/free software">free software</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/html"><img title="html" alt="html" src="/assets/tag_icons/html-acc89988ab4074a1ed21db7b726c4a140d1cd6f81d31c457bd4397802d3a673a.png" /> html</a>, <a class="p-category" href="/events/tag/libre">libre</a>, <a class="p-category" href="/events/tag/meetup">meetup</a>, <a class="p-category" href="/events/tag/non-profit">non-profit</a>, <a class="p-category" href="/events/tag/open source">open source</a>, <a class="p-category" href="/events/tag/volunteer">volunteer</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250469655.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250469655/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, January 19, 2016 at 3:08pm</strong>.
</div>
</div>
</div>
45.5124 -122.6563tag:calagator.org,2005:Calagator::Event/12504697832016-02-08T18:57:33-08:002016-02-08T18:57:33-08:00Snowdrift.coop meetupFriday, February 19, 2016 from 5-8pm at Lucky Labrador Beer Hallhttp://calagator.org/events/12504697832016-02-19T17:00:00-08:002016-02-19T20:00:00-08:00<div class="vevent">
<h1 class="summary">Snowdrift.coop meetup</h1>
<div class='date'><time class="dtstart dt-start" title="2016-02-19T17:00:00" datetime="2016-02-19T17:00:00">Friday, February 19, 2016 from 5</time>–<time class="dtend dt-end" title="2016-02-19T20:00:00" datetime="2016-02-19T20:00:00">8pm</time></div>
<div class="location vcard">
<a href='/venues/202390038' class='url'>
<span class='fn org'>Lucky Labrador Beer Hall</span>
</a>
<div class="adr">
<div class="street-address">1945 NW Quimby</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97209</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=1945%20NW%20Quimby,%20Portland%20OR%2097209%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Snowdrift.coop casual chat, hang-out, open to all supporters, volunteers, curious folks, and guests. At this meetup, we'll be visit with new Community Director William "Salt" Hale who is coming down from Seattle.</p>
<p>Snowdrift.coop is a non-profit community platform building a new sustainable patronage system for public goods (particularly free/libre/open works). We welcome volunteers in all areas including non-technical general design, organizing, and co-op structure issues. On the technical side, the site uses the Yesod web framework written in Haskell alongside basic HTML/CSS/JavaScript.</p>
<p>We have a strong Portland foundation with one of the co-founders, the lead developer, and several active volunteers and supporters in the area.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://snowdrift.coop">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/css">css</a>, <a class="p-category" href="/events/tag/free culture">free culture</a>, <a class="p-category" href="/events/tag/free software">free software</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/html"><img title="html" alt="html" src="/assets/tag_icons/html-acc89988ab4074a1ed21db7b726c4a140d1cd6f81d31c457bd4397802d3a673a.png" /> html</a>, <a class="p-category" href="/events/tag/libre">libre</a>, <a class="p-category" href="/events/tag/meetup">meetup</a>, <a class="p-category" href="/events/tag/non-profit">non-profit</a>, <a class="p-category" href="/events/tag/open source">open source</a>, <a class="p-category" href="/events/tag/volunteer">volunteer</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250469783.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250469783/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Monday, February 8, 2016 at 6:57pm</strong>.
</div>
</div>
</div>
45.5335 -122.6915tag:calagator.org,2005:Calagator::Event/12504711792016-12-12T13:51:25-08:002016-12-12T13:51:25-08:00Portland Functional Programming Study Group - Functional DiscussionsMonday, December 12, 2016 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504711792016-12-12T18:30:00-08:002016-12-12T20:30:00-08:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Functional Discussions</h1>
<div class='date'><time class="dtstart dt-start" title="2016-12-12T18:30:00" datetime="2016-12-12T18:30:00">Monday, December 12, 2016 from 6:30</time>–<time class="dtend dt-end" title="2016-12-12T20:30:00" datetime="2016-12-12T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/235874184/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=235874184">meetup:event=235874184</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250471179.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250471179/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996335855">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Monday, December 12, 2016 at 1:51pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504714512017-02-07T19:48:17-08:002017-02-07T19:48:17-08:00Portland Functional Programming Study Group - Haskell Lesson 1 and Data ParallelismMonday, February 20, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504714512017-02-20T18:30:00-08:002017-02-20T20:30:00-08:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 1 and Data Parallelism</h1>
<div class='date'><time class="dtstart dt-start" title="2017-02-20T18:30:00" datetime="2017-02-20T18:30:00">Monday, February 20, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-02-20T20:30:00" datetime="2017-02-20T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This is the first month of our new format, based on discussion following the survey: The first half will be geared toward beginners, and the second half will be geared toward more advanced material.</p>
<p> </p><p>For the next several months the beginner material will be a series of lessons in the Haskell programming language. We will be following Brent Yorgey's CIS 194 syllabus (<a href="http://www.seas.upenn.edu/~cis194/spring13/lectures.html)."></a><a href="http://www.seas.upenn.edu/~cis194/spring13/lectures.html" class="linkified">http://www.seas.upenn.edu/~cis194/spring13/lectures.html</a>). So bring a laptop, or just follow along. Between months you are encouraged to work on the assignments and we will review them. Lyle will be leading the lecture this month.</p> <p>This month's advanced talk will be delivered by Leif, who will be following up his discussion of data parallelism in Spark (Scala) and Haskell.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/235874187/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=235874187">meetup:event=235874187</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250471451.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250471451/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996335914">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Tuesday, February 7, 2017 at 7:48pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504715792017-03-09T13:45:22-08:002017-03-09T13:56:53-08:00Portland Functional Programming Study Group - Haskell Lesson 2Monday, March 13, 2017 from 6:30-8:30pm at Collective Agency Morrisonhttp://calagator.org/events/12504715792017-03-13T18:30:00-07:002017-03-13T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 2</h1>
<div class='date'><time class="dtstart dt-start" title="2017-03-13T18:30:00" datetime="2017-03-13T18:30:00">Monday, March 13, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-03-13T20:30:00" datetime="2017-03-13T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202395510' class='url'>
<span class='fn org'>Collective Agency Morrison</span>
</a>
<div class="adr">
<div class="street-address">1410 SW Morrison St</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>USA<div>
(<a href='https://maps.google.com/maps?q=1410%20SW%20Morrison%20St,%20Portland%20OR%2097205%20USA'>map</a>)
</div>
</div>
<div class="description">
<p>This month, Echo will be leading us through Haskell Lesson 2 (Week 2 at <a href="http://www.seas.upenn.edu/~cis194/spring13/lectures.html" class="linkified">http://www.seas.upenn.edu/~cis194/spring13/lectures.html</a>)! The category theory talk has been rescheduled for April.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/235874188/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=235874188">meetup:event=235874188</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250471579.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250471579/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996335940">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Thursday, March 9, 2017 at 1:45pm</strong> and last updated <br /><strong>Thursday, March 9, 2017 at 1:56pm</strong>.
</div>
</div>
</div>
45.5209 -122.6867tag:calagator.org,2005:Calagator::Event/12504717542017-04-04T19:52:12-07:002017-10-03T18:51:05-07:00Portland Functional Programming Study Group - Haskell Lesson 3 and Category TheoryMonday, April 10, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504717542017-04-10T18:30:00-07:002017-04-10T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 3 and Category Theory</h1>
<div class='date'><time class="dtstart dt-start" title="2017-04-10T18:30:00" datetime="2017-04-10T18:30:00">Monday, April 10, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-04-10T20:30:00" datetime="2017-04-10T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This meeting continues our Haskell lesson series with Echo delivering Lesson 3 on Recursion Patterns, Polymorphism, and the Prelude from Brent Yorgey's CIS194 course (<a href="http://www.seas.upenn.edu/~cis194/spring13/lectures.html)."></a><a href="http://www.seas.upenn.edu/~cis194/spring13/lectures.html" class="linkified">http://www.seas.upenn.edu/~cis194/spring13/lectures.html</a>).</p>
<p> </p><p>Lyle will give an introduction to category theory, a theory about mathematical structures and their relationships, which has applications in functional programming.</p> <p>The meeting will be at Collective Agency in the Tiffany Center - the same place as the February meeting. The elevator is expected to be restored to operation by then. (UPDATE: Elevator service to the 8th floor has not yet been restored, so you will have to walk from the 4th floor.) Someone will wait in the lobby to let you in as the front doors are locked after 6. The meeting is on the 8th floor.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/238168526/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=238168526">meetup:event=238168526</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250471754.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250471754/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996335969">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Tuesday, April 4, 2017 at 7:52pm</strong> and last updated <br /><strong>Tuesday, October 3, 2017 at 6:51pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504718742017-05-04T21:44:32-07:002017-05-04T21:44:32-07:00Beaverton Haskell Meetup - Write You a Scheme 2.0 - Session 1Monday, May 8, 2017 from 6:30-8:30pm at Oregon Technology Buisiness Center (OTBC)http://calagator.org/events/12504718742017-05-08T18:30:00-07:002017-05-08T20:30:00-07:00<div class="vevent">
<h1 class="summary">Beaverton Haskell Meetup - Write You a Scheme 2.0 - Session 1</h1>
<div class='date'><time class="dtstart dt-start" title="2017-05-08T18:30:00" datetime="2017-05-08T18:30:00">Monday, May 8, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-05-08T20:30:00" datetime="2017-05-08T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202395570' class='url'>
<span class='fn org'>Oregon Technology Buisiness Center (OTBC)</span>
</a>
<div class="adr">
<div class="street-address">3800 Cedar Hills Blvd Suite 260 (use entrance on Rose Biggi Ave)</div>
<span class="locality">Beaverton</span>
, <span class="region">OR</span>
<div class='country-name'>us<div>
(<a href='https://maps.google.com/maps?q=3800%20Cedar%20Hills%20Blvd%20Suite%20260%20(use%20entrance%20on%20Rose%20Biggi%20Ave),%20Beaverton%20OR%20%20us'>map</a>)
</div>
</div>
<div class="description">
<p>Hello!</p>
<p> </p><p>Thanks to everyone who attended the kickoff meeting for this group. It was a really good turn out and looks like there are a lot of folks excited about learning some Haskell. We have decided at this point to meet on a bi-weekly basis Mondays at 6:30pm. We also have a new venue which has been secured at the OTBC offices thanks to Phil for the referral on that one. We have also decided that we will be going through the online tutorial <a href="https://wespiser.com/writings/wyas/home.html">Write You a Scheme 2.0</a> as our first project. Each person will choose resources on their own to learn Haskell and we will come together as a group in each meeting to talk about our progress on building a scheme interpreter and our understanding of the code presented. Most likely we will also do some Haskell exercises as a group to help solidify new concepts.</p> <p>To prepare for the next meetup go through the introduction and if you have time, the next section on parsers as well. We'll try to cover as much ground as we have time available.</p> <p>We also have a Slack channel that you can join by clicking the link that was sent out on the mailing list. If you need an invite link let me know and I'll get you connected.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Beaverton-Haskell-Meetup/events/239603501/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/meetup:event=239603501">meetup:event=239603501</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Beaverton-Haskell-Meetup">meetup:group=Beaverton-Haskell-Meetup</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250471874.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250471874/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996336001">https://www.meetup.com/Beaverton-Hask...</a> <br /><strong>Thursday, May 4, 2017 at 9:44pm</strong>.
</div>
</div>
</div>
tag:calagator.org,2005:Calagator::Event/12504718602017-05-02T12:54:41-07:002017-10-03T18:51:46-07:00PDXFunc - Portland Functional Programming Study GroupMonday, May 15, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504718602017-05-15T18:30:00-07:002017-05-15T20:30:00-07:00<div class="vevent">
<h1 class="summary">PDXFunc - Portland Functional Programming Study Group</h1>
<div class='date'><time class="dtstart dt-start" title="2017-05-15T18:30:00" datetime="2017-05-15T18:30:00">Monday, May 15, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-05-15T20:30:00" datetime="2017-05-15T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>We will continue our Haskell lesson series with Lyle delivering Lesson 4 on Higher-Order Programming and Type Inference from Brent Yorgey's CIS194 course.</p>
<p>Then Michael Beidler will present on full-stack "isomorphic" web apps with Haskell (REST APIs in servant and GHCJS front-ends with react-flux).</p>
<p>The 8th-floor elevator has been restored to operation, so there are no longer stairs to climb.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/238450846/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250471860.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250471860/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, May 2, 2017 at 12:54pm</strong> and last updated <br /><strong>Tuesday, October 3, 2017 at 6:51pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504720662017-06-11T10:09:30-07:002017-10-03T18:52:12-07:00Portland Functional Programming Study Group - Haskell Lesson 5 and the 1ML LanguageMonday, June 19, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504720662017-06-19T18:30:00-07:002017-06-19T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 5 and the 1ML Language</h1>
<div class='date'><time class="dtstart dt-start" title="2017-06-19T18:30:00" datetime="2017-06-19T18:30:00">Monday, June 19, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-06-19T20:30:00" datetime="2017-06-19T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Join us for another fun-filled evening of learning and discussion!</p>
<p> </p><p>Tonight, Lyle will present Lesson 5 from Brent Yorgey's CIS 194 lectures: <a href="http://www.seas.upenn.edu/~cis194/spring13/lectures/05-type-classes.html,"></a><a href="http://www.seas.upenn.edu/~cis194/spring13/lectures/05-type-classes.html" class="linkified">http://www.seas.upenn.edu/~cis194/spring13/lectures/05-type-classes.html</a>, as well as reviewing the homework from Lesson 4.</p> <p>Then, Matt Rice will talk about the 1ML language, a variant of ML which unifies the main expression/type language with the language of the module system (signatures, structures and functors). He's also been creating his own language derived from it.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/239473980/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=239473980">meetup:event=239473980</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472066.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472066/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996336045">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Sunday, June 11, 2017 at 10:09am</strong> and last updated <br /><strong>Tuesday, October 3, 2017 at 6:52pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504722222017-07-12T20:00:23-07:002017-07-12T20:00:23-07:00Portland Functional Programming Study Group - Haskell Lesson 6 and Free ThingsMonday, July 17, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504722222017-07-17T18:30:00-07:002017-07-17T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 6 and Free Things</h1>
<div class='date'><time class="dtstart dt-start" title="2017-07-17T18:30:00" datetime="2017-07-17T18:30:00">Monday, July 17, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-07-17T20:30:00" datetime="2017-07-17T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This month, Leif will present<a href="http://www.seas.upenn.edu/~cis194/spring13/lectures/06-laziness.html"> Lesson 6 on Lazy Evaluation</a> from Brent Yorgey's CIS 194 lectures.</p>
<p> </p><p>Then, Rob Norris will talk about free things.</p> <p>Meeting is on the 8th floor of the Tiffany Center. If you arrive before the meeting starts, there will be someone in the lobby to open the front door for you. If not, there will be a sign posted with a phone number for you to call, and someone will come down to let you in. Take the elevator on the right to the 8th floor, and exit to your right. The sign next to the space says Forge Portland. We meet in the large open area there. </p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/240826555/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=240826555">meetup:event=240826555</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472222.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472222/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996336099">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Wednesday, July 12, 2017 at 8pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504722802017-07-31T11:30:47-07:002017-07-31T11:30:47-07:00Beaverton Haskell Meetup - Haskell ProjectsMonday, July 31, 2017 from 6:30-8:30pm at Oregon Technology Buisiness Center (OTBC)http://calagator.org/events/12504722802017-07-31T18:30:00-07:002017-07-31T20:30:00-07:00<div class="vevent">
<h1 class="summary">Beaverton Haskell Meetup - Haskell Projects</h1>
<div class='date'><time class="dtstart dt-start" title="2017-07-31T18:30:00" datetime="2017-07-31T18:30:00">Monday, July 31, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-07-31T20:30:00" datetime="2017-07-31T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202395570' class='url'>
<span class='fn org'>Oregon Technology Buisiness Center (OTBC)</span>
</a>
<div class="adr">
<div class="street-address">3800 Cedar Hills Blvd Suite 260 (use entrance on Rose Biggi Ave)</div>
<span class="locality">Beaverton</span>
, <span class="region">OR</span>
<div class='country-name'>us<div>
(<a href='https://maps.google.com/maps?q=3800%20Cedar%20Hills%20Blvd%20Suite%20260%20(use%20entrance%20on%20Rose%20Biggi%20Ave),%20Beaverton%20OR%20%20us'>map</a>)
</div>
</div>
<div class="description">
<p>It's been a while since I've updated the description for this meetup's events. So, the group originally started to learn Haskell from scratch. The group agreed that we would each choose our own learning materials to work from during the week and then come together during the meeting to discuss and work on programming exercises together. Since then we have started working on larger projects in Haskell and are starting to investigate more advanced features of the language. If you have something that you've been working on that you would like to share or you would like to help someone else with their own project then please join us! We're always looking to meet more folks who are interested in the virtues of functional programming.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Beaverton-Haskell-Meetup/events/241822925/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/meetup:event=241822925">meetup:event=241822925</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Beaverton-Haskell-Meetup">meetup:group=Beaverton-Haskell-Meetup</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472280.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472280/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996336113">https://www.meetup.com/Beaverton-Hask...</a> <br /><strong>Monday, July 31, 2017 at 11:30am</strong>.
</div>
</div>
</div>
tag:calagator.org,2005:Calagator::Event/12504726002017-10-03T17:57:11-07:002017-10-03T17:57:11-07:00Portland Functional Programming Study Group - Haskell Lesson 7 and A* in ElmMonday, August 14, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504726002017-08-14T18:30:00-07:002017-08-14T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 7 and A* in Elm</h1>
<div class='date'><time class="dtstart dt-start" title="2017-08-14T18:30:00" datetime="2017-08-14T18:30:00">Monday, August 14, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-08-14T20:30:00" datetime="2017-08-14T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>This month, we'll be meeting in a new location! Collective Agency has moved to 511 SW 10th Ave. We'll be meeting in the main area.</p>
<p> </p><p><br>First, we'll cover <a href="http://www.seas.upenn.edu/~cis194/spring13/lectures/07-folds-monoids.html">Lesson 7 on Folds and Monoids</a> from Brent Yorgey's CIS 194 Haskell lectures.</p> <p>Then, Jamon Holmgren will explain his implementation of the A<em> pathfinding algorithm in Elm. A</em> is used in games to calculate the least-cost path for a computer character to move from one spot to another. Elm is a language similar to Haskell (but simpler) that compiles down to JavaScript, used for apps that run in web browsers.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/241862154/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=241862154">meetup:event=241862154</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472600.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472600/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, October 3, 2017 at 5:57pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504725992017-10-03T17:55:42-07:002017-10-03T17:55:42-07:00Portland Functional Programming Study Group - Haskell Lesson 8 and Vintage BASICMonday, September 11, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504725992017-09-11T18:30:00-07:002017-09-11T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 8 and Vintage BASIC</h1>
<div class='date'><time class="dtstart dt-start" title="2017-09-11T18:30:00" datetime="2017-09-11T18:30:00">Monday, September 11, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-09-11T20:30:00" datetime="2017-09-11T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Lyle will present Brent Yorgey's CIS 194 Lesson 8 on <a href="http://www.seas.upenn.edu/~cis194/spring13/lectures/08-IO.html">IO in Haskell</a>.</p>
<p> </p><p>Then Lyle will present Vintage BASIC, a BASIC interpreter he wrote in Haskell some years ago but has recently revised.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/242760615/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=242760615">meetup:event=242760615</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472599.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472599/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, October 3, 2017 at 5:55pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504725102017-09-15T23:58:44-07:002017-09-15T23:58:44-07:00Beaverton Haskell MeetupWednesday, September 20, 2017 from 6:30-8:30pm at Oregon Technology Buisiness Center (OTBC)http://calagator.org/events/12504725102017-09-20T18:30:00-07:002017-09-20T20:30:00-07:00<div class="vevent">
<h1 class="summary">Beaverton Haskell Meetup</h1>
<div class='date'><time class="dtstart dt-start" title="2017-09-20T18:30:00" datetime="2017-09-20T18:30:00">Wednesday, September 20, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-09-20T20:30:00" datetime="2017-09-20T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202395570' class='url'>
<span class='fn org'>Oregon Technology Buisiness Center (OTBC)</span>
</a>
<div class="adr">
<div class="street-address">3800 Cedar Hills Blvd Suite 260 (use entrance on Rose Biggi Ave)</div>
<span class="locality">Beaverton</span>
, <span class="region">OR</span>
<div class='country-name'>us<div>
(<a href='https://maps.google.com/maps?q=3800%20Cedar%20Hills%20Blvd%20Suite%20260%20(use%20entrance%20on%20Rose%20Biggi%20Ave),%20Beaverton%20OR%20%20us'>map</a>)
</div>
</div>
<div class="description">
<p>Bring whatever Haskell project you happen to be working on and we'll spend a couple hours helping each other with them.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Beaverton-Haskell-Meetup/events/243383021/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472510.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472510/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, September 15, 2017 at 11:58pm</strong>.
</div>
</div>
</div>
tag:calagator.org,2005:Calagator::Event/12504725722017-09-27T14:16:30-07:002017-09-27T14:16:30-07:00Haskell User GroupWednesday, September 27, 2017 from 6:30-8:30pm at Oregon Technology Buisiness Center (OTBC)http://calagator.org/events/12504725722017-09-27T18:30:00-07:002017-09-27T20:30:00-07:00<div class="vevent">
<h1 class="summary">Haskell User Group</h1>
<div class='date'><time class="dtstart dt-start" title="2017-09-27T18:30:00" datetime="2017-09-27T18:30:00">Wednesday, September 27, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-09-27T20:30:00" datetime="2017-09-27T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202395570' class='url'>
<span class='fn org'>Oregon Technology Buisiness Center (OTBC)</span>
</a>
<div class="adr">
<div class="street-address">3800 Cedar Hills Blvd Suite 260 (use entrance on Rose Biggi Ave)</div>
<span class="locality">Beaverton</span>
, <span class="region">OR</span>
<div class='country-name'>us<div>
(<a href='https://maps.google.com/maps?q=3800%20Cedar%20Hills%20Blvd%20Suite%20260%20(use%20entrance%20on%20Rose%20Biggi%20Ave),%20Beaverton%20OR%20%20us'>map</a>)
</div>
</div>
<div class="description">
<p>All experience levels are welcome, but the group's focus is on intermediate topics. The meeting this evening will be unstructured: we will discuss the direction and goals of the group.</p>
</div>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/haskell">haskell</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472572.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472572/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Wednesday, September 27, 2017 at 2:16pm</strong>.
</div>
</div>
</div>
tag:calagator.org,2005:Calagator::Event/12504725982017-10-03T17:51:20-07:002017-10-03T17:51:20-07:00Portland Functional Programming Study Group - Haskell Lesson 9 (Functors) and Minima (Elm)Monday, October 9, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504725982017-10-09T18:30:00-07:002017-10-09T20:30:00-07:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - Haskell Lesson 9 (Functors) and Minima (Elm)</h1>
<div class='date'><time class="dtstart dt-start" title="2017-10-09T18:30:00" datetime="2017-10-09T18:30:00">Monday, October 9, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-10-09T20:30:00" datetime="2017-10-09T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Echo will present Brent Yorgey's CIS 194 Lesson 9 on <a href="http://www.seas.upenn.edu/~cis194/spring13/lectures/09-functors.html">functors in Haskell</a>.</p>
<p> </p><p>Brian Ginsburg will give a short presentation on Minima (<a href="https://brianginsburg.com/minima/">https://brianginsburg.com/minima/</a>), a playground for experimenting with minimalist musical patterns, which he wrote in Elm.</p><p>We will have extra time in this meeting for hands-on learning. You are encouraged to bring a laptop or work together with someone else. You can practice working with functors, hack on Minima, or ask any other questions you might have.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/242760619/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=242760615">meetup:event=242760615</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472598.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472598/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Tuesday, October 3, 2017 at 5:51pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504728412017-11-13T08:52:05-08:002017-12-06T16:48:24-08:00Portland Functional Programming Study Group - 10th Anniversary Party and New Format KickoffMonday, November 13, 2017 from 6:30-8:30pm at Collective Agency Downtownhttp://calagator.org/events/12504728412017-11-13T18:30:00-08:002017-11-13T20:30:00-08:00<div class="vevent">
<h1 class="summary">Portland Functional Programming Study Group - 10th Anniversary Party and New Format Kickoff</h1>
<div class='date'><time class="dtstart dt-start" title="2017-11-13T18:30:00" datetime="2017-11-13T18:30:00">Monday, November 13, 2017 from 6:30</time>–<time class="dtend dt-end" title="2017-11-13T20:30:00" datetime="2017-11-13T20:30:00">8:30pm</time></div>
<div class="location vcard">
<a href='/venues/202392813' class='url'>
<span class='fn org'>Collective Agency Downtown</span>
</a>
<div class="adr">
<div class="street-address">511 SW 10th Ave, Suite 1108</div>
<span class="locality">Portland</span>
, <span class="region">OR</span>
<span class="postal-code">97205</span>
<div class='country-name'>US<div>
(<a href='https://maps.google.com/maps?q=511%20SW%2010th%20Ave,%20Suite%201108,%20Portland%20OR%2097205%20US'>map</a>)
</div>
</div>
<div class="description">
<p>Come celebrate the 10th anniversary of PDX Func! The first meeting was on 11/15/07. There'll be food and drink and cake! We'll also discuss the new format for meetings based on the survey results. We will also go over the Applicative Functor lesson from CIS 193, which will be our final lesson from that track.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://www.meetup.com/Portland-Functional-Programming-Study-Group/events/244122576/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/category theory">category theory</a>, <a class="p-category" href="/events/tag/clojure">clojure</a>, <a class="p-category" href="/events/tag/erlang programming">erlang programming</a>, <a class="p-category" href="/events/tag/f# programming">f# programming</a>, <a class="p-category" href="/events/tag/functional programming">functional programming</a>, <a class="p-category" href="/events/tag/functional programming in python">functional programming in python</a>, <a class="p-category" href="/events/tag/functors and monads">functors and monads</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/idris">idris</a>, <a class="p-category" href="/events/tag/lisp & scheme">lisp & scheme</a>, <a class="p-category" href="/events/tag/mathematics">mathematics</a>, <a class="p-category" href="/events/tag/meetup:event=244122576">meetup:event=244122576</a>, <a class="p-category external meetup group" href="http://www.meetup.com/Portland-Functional-Programming-Study-Group">meetup:group=Portland-Functional-Programming-Study-Group</a>, <a class="p-category" href="/events/tag/ocaml programming">ocaml programming</a>, <a class="p-category" href="/events/tag/programming languages">programming languages</a>, <a class="p-category" href="/events/tag/scala">scala</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250472841.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250472841/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was imported from <a href="/sources/996336291">https://www.meetup.com/Portland-Funct...</a> <br /><strong>Monday, November 13, 2017 at 8:52am</strong> and last updated <br /><strong>Wednesday, December 6, 2017 at 4:48pm</strong>.
</div>
</div>
</div>
45.5212 -122.6818tag:calagator.org,2005:Calagator::Event/12504746242018-11-30T10:34:33-08:002018-11-30T10:34:33-08:00Tech Talk: Teaching Haskell in the Real WorldFriday, December 14, 2018 from 11am-noon at Galois Inc.http://calagator.org/events/12504746242018-12-14T11:00:00-08:002018-12-14T12:00:00-08:00<div class="vevent">
<h1 class="summary">Tech Talk: Teaching Haskell in the Real World</h1>
<div class='date'><time class="dtstart dt-start" title="2018-12-14T11:00:00" datetime="2018-12-14T11:00:00">Friday, December 14, 2018 from 11am</time>–<time class="dtend dt-end" title="2018-12-14T12:00:00" datetime="2018-12-14T12:00:00">noon</time></div>
<div class="location vcard">
<a href='/venues/202396111' class='url'>
<span class='fn org'>Galois Inc.</span>
</a>
<div class="adr">
<div class="street-address">421 SW 6th Ave. Suite 300</div>
<span class="locality">Portland</span>
, <span class="region">Oregon</span>
<span class="postal-code">97204</span>
<div class='country-name'>United States<div>
(<a href='https://maps.google.com/maps?q=421%20SW%206th%20Ave.%20Suite%20300,%20Portland%20Oregon%2097204%20United%20States'>map</a>)
</div>
</div>
<div class="description">
<p>Abstract:</p>
<p>Teaching programming is a hard job. Teaching Haskell is a way harder given its inherent complexity and expectations students have. Nevertheless, there are many approaches to do that. In this talk, I would like to outline the practices that I use and those that I don’t find fruitful. There are quite a few books that can be used for teaching, and I will try to categorize them in terms of their ability to educate a professional Haskell developer. Haskell is a big language, so what should be taught is another crucial question. Should it be a course on functional programming in general or Haskell specifics are fine to teach? For example, there is no clear answer on whether you should attempt teaching something like lenses or stream I/O given limited time. How to teach students about monads? Well, everyone knows the right answer, I will describe my approach. I will also talk about ways to motivate students and to make them learn Haskell by themselves.</p>
<p>Speaker:</p>
<p>Vitaly Bragilevsky, Senior Lecturer at Southern Federal University</p>
<p>Bio:</p>
<p>Vitaly Bragilevsky serves as both the Haskell 2020 Language Committee and the GHC Steering Committee member. He works as a Senior Lecturer at the Southern Federal University in Rostov-on-Don, Russia where he teaches undergraduate students functional programming and theory of computations. He is the author of ‘Haskell in Depth’ (Manning Publications, available via Manning’s early access program).</p>
<p>Recording:</p>
<p>The presentation will be live streamed on our YouTube channel.</p>
</div>
<h3>Links</h3>
<ul>
<li><a class="url" href="https://galois.com/blog/2018/11/teaching-haskell-in-the-real-world/">Website</a></li>
</ul>
<div class="tags">
<h3>Tags</h3>
<p><a class="p-category" href="/events/tag/galois">galois</a>, <a class="p-category" href="/events/tag/haskell">haskell</a>, <a class="p-category" href="/events/tag/techtalk">techtalk</a></p>
</div>
<div class='single_view_right'>
<a href='http://calagator.org/events/1250474624.ics'>Download to iCal</a>
<div id='edit_link'>
<p>You can <a href="http://calagator.org/events/1250474624/edit">edit this event</a>.</p>
</div>
<div id='metadata'>
This item was added directly to Calagator <br /><strong>Friday, November 30, 2018 at 10:34am</strong>.
</div>
</div>
</div>
45.5208 -122.678