This document discusses F# and FParsec. It provides examples of parsing expressions in FParsec using lazy evaluation and references, as opposed to NParsec which uses bindings. FParsec allows defining recursive parsers in a natural way in F#.
This document discusses the differences between using yield and return in computation expressions in F#. It presents several implementations of computation expressions to demonstrate how yield and return can be distinguished. The key differences are:
- yield continues the remaining computation expression, while return stops any remaining expressions from executing.
- Several approaches are presented: using exceptions, a state field on the builder, and passing state as an argument. The state argument approach provides a clear separation of yield and return without sharing state between uses of the builder.
- Continuations are also proposed as an implementation, where yield calls the continuation and return discards it. This approach makes the symmetry between yield and return very clear.
This document discusses F# and FParsec. It provides examples of parsing expressions in FParsec using lazy evaluation and references, as opposed to NParsec which uses bindings. FParsec allows defining recursive parsers in a natural way in F#.
This document discusses the differences between using yield and return in computation expressions in F#. It presents several implementations of computation expressions to demonstrate how yield and return can be distinguished. The key differences are:
- yield continues the remaining computation expression, while return stops any remaining expressions from executing.
- Several approaches are presented: using exceptions, a state field on the builder, and passing state as an argument. The state argument approach provides a clear separation of yield and return without sharing state between uses of the builder.
- Continuations are also proposed as an implementation, where yield calls the continuation and return discards it. This approach makes the symmetry between yield and return very clear.
This document provides a summary of an individual's background and experiences including programming languages, conferences, and meetups. It includes the following information in 3 sentences:
The document identifies an individual named bleis-tift and lists their experiences with programming languages like F#, C#, Git, and Vim as well as their involvement with Meetup groups focused on test-driven development, source code management, and more. Various conferences and meetups are listed that they have attended related to programming topics such as .NET, Ruby, F#, JavaScript, functional programming, and more. Locations mentioned include Nagoya, Japan where several meetups on topics such as Perl, OCaml, Scala, and development practices were held.
This document discusses upcoming events related to functional programming languages and mobile development platforms. It lists upcoming talks on F# and Scala in Tokyo, and notes an online F# advent calendar from December 1st to 25th featuring short daily posts about F#. It also advertises an upcoming workshop on building Windows Phone applications using F# and C#.
This document discusses the author's experiences with various programming languages and technologies over the years including Lightweight Language, Haskell, Scala vs Kotlin, Smalltalk, and Lexically scoped Lisp. It also mentions how AsakusaSatellite and @mzp have grown and reflects on the author's life in Nagoya.
The document discusses using Git for version control in Visual Studio and integrating it with test-driven development. It provides commands for rebasing a development branch onto the master branch and then deleting the development branch. It also mentions using Git from the command line, Git GUI tools, integrating with issue trackers like Redmine and GitHub, and continuous integration tools.
The document discusses using Jenkins for continuous integration of .NET projects. It recommends installing plugins for Git, MSBuild, NUnit and other tools to integrate them with Jenkins. The Groovy and PowerShell plugins allow adding custom build steps. Overall Jenkins is presented as a good option for continuous integration of .NET projects by automating builds and running tests on each code change.
This document summarizes the key differences between centralized version control systems (CVS) and distributed version control systems (DVCS). It explains that DVCS allow for non-linear development with features like rebasing and branching that are not possible in CVS. Examples of DVCS like Git and Mercurial are given. The document also discusses how to migrate from CVS to a DVCS and advantages of using continuous integration with a DVCS.
The document discusses various topics related to Vim including Vim on Windows, vimrc configuration files, Vim commands, plugins, and Vim hacks. It provides instructions for installing Vundle and cloning Vim plugins from GitHub. It also includes mappings for quickly opening vimrc files and reloading configuration.