Timestamp
5/27/2018 19:46:19
Which dojo did you attend?
Austria, Vienna
Any previous programming experience?
Yes
Which typed languages have you used, if any?
JavaScript, PHP, Ruby, Elixir
Which functional programming languages have you used, if any?
Elixir, Elm
What did you like about the experience?
Nice people, good learning experience
What did you dislike about the experience?
Obscure compiler messages
Where did the team spend the most time?
Using array.map instead of list
Map
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
No
Did you find any error messages hard to follow? If so, which ones?
Anything in particular you wish would have been better documented?
What would you change in the ecosystem to make it better?
What would you like to build or learn for your next Dojo?

Timestamp
5/27/2018 19:52:54
Which dojo did you attend?
Austria, Vienna
Any previous programming experience?
Yes
Which typed languages have you used, if any?
C++, Flow, Java, Rust
Which functional programming languages have you used, if any?
Reason, Wolfram Language (Mathematica)
What did you like about the experience?
nice people, nice please, nice programming, Timo
What did you dislike about the experience?
sometimes we felt a bit stuck
Where did the team spend the most time?
writing bindings with abstract types
Option 1
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
yes! 1. often the editor would not reflect the current compiler state, still displaying errors that were not real; 2. refmt sometimes didn't work for unknown reasons
Did you find any error messages hard to follow? If so, which ones?
at least one where we forgot parentheses around an Array.map function call in JSX (to create children)
Anything in particular you wish would have been better documented?
how to use abstract types (how to create them and how to access fields)
What would you change in the ecosystem to make it better?
less error-prone editor integration
What would you like to build or learn for your next Dojo?
real-world data fetching; maybe to write Reason for the server

Timestamp
5/27/2018 19:53:18
Which dojo did you attend?
Austria, Vienna
Any previous programming experience?
Yes
Which typed languages have you used, if any?
flow
Which functional programming languages have you used, if any?
reason
What did you like about the experience?
Jan, Timo, nice people, getting knowledge in writing bindings
What did you dislike about the experience?
vienna 26 degrees celcius
Where did the team spend the most time?
abstract types, how to properly configure bindings
Option 1
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
rfmt didn't work all the time, out of sync
Did you find any error messages hard to follow? If so, which ones?
Array.map function call where only writing an additional function to create markers worked instead of using the functionality directly in JSX. Probably not proper use of brackets
Anything in particular you wish would have been better documented?
how abstract types are used properly
What would you change in the ecosystem to make it better?
bindings in general, ecosystem(editor errors sometimes confusing), error handling with jsx code
What would you like to build or learn for your next Dojo?
how to properly fetch data with Reason

Timestamp
5/27/2018 19:54:44
Which dojo did you attend?
Austria, Vienna
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Java, Fortran, C, C++, Kotlin
Which functional programming languages have you used, if any?
What did you like about the experience?
The community aspect, I loved that results became visible for everyone on the map and that much of the groundwork like POSTing and GETting has been done for you.
Regarding the toolchain, sometimes you get tripped up by the UNKNOWN SYNTAX ERROR, but otherwise it's been ok.
What did you dislike about the experience?
Array vs List, always using Array when interacting with JavaScript is not explicitly mentioned in the docs. I think it's mentioned, but in between the lines.
I probably missed something, but the shadowing part of type name vs parameter name tripped us up in the beginning and it wasn't perfectly clear why that's the case.
Where did the team spend the most time?
Writing bindings, shadowing.
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Nope, has been quite lovely this time around!
Did you find any error messages hard to follow? If so, which ones?
UNKNOWN SYNTAX ERROR
Anything in particular you wish would have been better documented?
In the concrete case where the response body string => JSON => Reason records conversion is taking place. I know it's in the Fetcher, but after ReasonConf I thought I'd always have to use `Json.Decode` or `location##username` etc.
I guess part of it was that the Fetcher was supposed to be a blackbox anyway and from the type definition it was clear that we already get records.
Another thing was https://reasonml.github.io/reason-react/docs/en/element-type-is-invalid.html which is documented, but it also tripped us up. I'm not sure if the tooling can improve this, but it would be nice.
What would you change in the ecosystem to make it better?
More bindings for popular libraries publicly available and community maintained. But this is a community effort anyway. But since we spent a lot of time writing bindings, this would be the best thing to have.
What would you like to build or learn for your next Dojo?
Typed server code. Maybe form validation. Nothing where I have to write a UI myself :D
That's also a big plus for this dojo, the styles were already defined.

Timestamp
5/27/2018 19:56:48
Which dojo did you attend?
Austria, Vienna
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Scala, Java
Which functional programming languages have you used, if any?
Scala
What did you like about the experience?
Learning in practice, meeting people already using Reason for projects
What did you dislike about the experience?
Manually having to write bindings! ;-)
Where did the team spend the most time?
Writing bindings... ;-)
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
merlin configured by default --> "reason.diagnostics.tools": ["bsb"]
Did you find any error messages hard to follow? If so, which ones?
Error: 955: <UNKNOWN SYNTAX ERROR>
Anything in particular you wish would have been better documented?
What would you change in the ecosystem to make it better?
Developer experience: having to pass unit () at the end of a function with optional labelled parameters
What would you like to build or learn for your next Dojo?
An webapp!

Timestamp
5/27/2018 23:08:53
Which dojo did you attend?
Belgium, Brussels
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Java, C, C++
Which functional programming languages have you used, if any?
What did you like about the experience?
the autocomplete, the reducerComponent, no need for imports <3, the fact that the language has refmt <3 (no need to engage in big fights about who has the better style :D)
What did you dislike about the experience?
That for some reason in my mind reason is close to javascript when it's really not.
Writting the binding for the react-simple-maps was a big pain for me as beginner.
Also the doc for someone that is not used to read functionnal programming documentation, it is not very easy.
The ~ is not the best on a non US keyboard.
ReactDOMRe.Style.make(~width="100%", ~maxWidth="980px", ~margin="0 auto", ())) that kind of code is painful to write, I wish the compiler could add the last param () automatically.
[0, 20] vs [|(0), (20)|] as javascript developer I would have prefered if the first one was the array and not the list :D
Where did the team spend the most time?
Bindings javascript -> reason
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
no
Did you find any error messages hard to follow? If so, which ones?
yes, the <UNKNOWN SYNTAX ERROR>
60 ┆ <Markers>
61 ┆ <Marker
62 ┆ marker=marker
63 ┆ style={{
64 ┆ default: ReactDOMRe.Style.make(~fill="#FF5722", ()),
This has type:
{. "coordinates": array(float), "markerOffset": int, "name": string}
But somewhere wanted:
MyProjectName.Marker.markerT (defined as MyProjectName.Marker.markerT)
Could not find what was wrong on that one
Anything in particular you wish would have been better documented?
interop, it was not easy to find how to write
[@bs.module "react-simple-maps"]
external geographies: ReasonReact.reactClass = "Geographies";
What would you change in the ecosystem to make it better?
As a react developer I would say the availability of interop for most mainstream library. I have the general feeling that TypeScript is more popular than flow just because they have a huge typings community.
What would you like to build or learn for your next Dojo?
A complex ui with animations if possible

Timestamp
5/27/2018 23:21:18
Which dojo did you attend?
France, Paris
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Haskell, Flow.js
Which functional programming languages have you used, if any?
Haskell, Elixir
What did you like about the experience?
Being led, getting help on encountered issues, meeting (nice) people, getting started on ReasonML
What did you dislike about the experience?
I didn't dislike it, but some problems were a bit frustrating in the rush
Where did the team spend the most time?
In bindings
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
VSCode is not always up to date with Merlin, thus showing errors that are non-existent.
When we use a component, we don't see the props it's waiting for.
Did you find any error messages hard to follow? If so, which ones?
In-editor messages are far less clear than those showing up in the terminal.
Anything in particular you wish would have been better documented?
What would you change in the ecosystem to make it better?
Reduce the amount of apis, make them more consistent. Ease the binding process
What would you like to build or learn for your next Dojo?
Video games would be fun

Timestamp
5/28/2018 9:13:53
Which dojo did you attend?
France, Paris
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Flow, Typescript, Java, C#, Swift
Which functional programming languages have you used, if any?
JS?
What did you like about the experience?
Gave me a very clear view about the state of Reason right now
What did you dislike about the experience?
Found it a bit too much like a mysterious puzzle, since I never knew what to look up
Where did the team spend the most time?
Bindings with the React library
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
editor plugin sometimes came out of sync so had to close and reopen files
Did you find any error messages hard to follow? If so, which ones?
unknown syntax error when doing things which aren't possible in reason (forgotten semicolons, using braces instead of brackets)
Anything in particular you wish would have been better documented?
didn't really use the documentation, bindings doc is a little light https://reasonml.github.io/reason-react/docs/en/interop.html could have some more complex examples and links to how to used published ones
What would you change in the ecosystem to make it better?
stdlib using more JS stdlib would be cool; Array.mapi and mapWithIndex, map could be a single fn with an optional I right?
What would you like to build or learn for your next Dojo?
something usable from JS as a third party (without any knowledge of Reason in the JS bits)

Timestamp
5/27/2018 19:34:46
Which dojo did you attend?
Netherlands, Amsterdam
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Typescript
Which functional programming languages have you used, if any?
What did you like about the experience?
Being able to have people around and ask questions
What did you dislike about the experience?
The format could've been a little bit more specific in terms of hints. There's a few 'gotchas' which were very hard to find out. (like shadowing type names)
Where did the team spend the most time?
creating the bindings for the external library
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Just some vague error messages sometimes. When shadowing, or a syntax error
Did you find any error messages hard to follow? If so, which ones?
The error message when a type with @bs-derive annotation has the same name as it's parent property
Anything in particular you wish would have been better documented?
There are some language features, like the different pipe operators '|>' vs '|.'
What would you change in the ecosystem to make it better?
I think error messaging around syntax errors will be very important, as people coming from other languages might not know all the intricacies.
What would you like to build or learn for your next Dojo?
I would like to go closer to real world applications. Like a backend (node server), react native app, etc.

Timestamp
5/27/2018 21:11:51
Which dojo did you attend?
Slovakia, Bratislava
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Which functional programming languages have you used, if any?
JS
What did you like about the experience?
Very helpful mentors! Opportunity to learn something new
What did you dislike about the experience?
I think there should be requirement for each participant in a dojo to spend at least 15minutes studying Reason/BS docs before attending. I think it's very frustrating (not talking about myself, but my teammates) for people hopping into the dojo not having previously read at least about basic Reason types and BS annotations.
Where did the team spend the most time?
Writing bindings, specifically getting to understand what do [@bs.deriving abstract] annotations produce
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Not something noteworthy
Did you find any error messages hard to follow? If so, which ones?
I dont remember any
Anything in particular you wish would have been better documented?
Event participation prerequisities - as I said, I would like participants to have at least read about Reason types and BS annotations at least a little before attending.
What would you change in the ecosystem to make it better?
To make writing bindings more straighforward
What would you like to build or learn for your next Dojo?
Unikernels, Backend stuff

Timestamp
5/27/2018 20:47:08
Which dojo did you attend?
Sweden, Göteborg
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Reason, Elm
Which functional programming languages have you used, if any?
Reason, Elm, Elixir
What did you like about the experience?
It was a fun project and it was fun to try to spread reason to others
What did you dislike about the experience?
I feel like we should not have worked as much with interop because we didn't sell the nice parts of reason to the newcomers.
Where did the team spend the most time?
Issues with bindings, bs.abstract shadowing gotchas
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Not really
Did you find any error messages hard to follow? If so, which ones?
We had a issue where we had ReasonReact.Update({ users }) and that gave us weird errors that were hard to debug
Anything in particular you wish would have been better documented?
The shadowing when using bs.deriving and maybe some examples of bindings to components that are more complex
What would you change in the ecosystem to make it better?
I think we just need more finished bindings/libraries at this moment
What would you like to build or learn for your next Dojo?

Timestamp
5/27/2018 19:33:51
Which dojo did you attend?
Sweden, Stockholm
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Elm, java, c#, typescript, php, flowtypes
Which functional programming languages have you used, if any?
Elm,
What did you like about the experience?
Welcoming community
What did you dislike about the experience?
A little bit difficult problem to solve for people with little/no reason experience. Maybe have a problem next time that focus more on core principles in ml type languages.
Where did the team spend the most time?
Working with the interlop functionality
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Nope
Did you find any error messages hard to follow? If so, which ones?
Field of record errors
Anything in particular you wish would have been better documented?
Recolds
What would you change in the ecosystem to make it better?
What would you like to build or learn for your next Dojo?

Timestamp
5/27/2018 19:40:34
Which dojo did you attend?
Sweden, Stockholm
Any previous programming experience?
Yes
Which typed languages have you used, if any?
TypeScript, Haskell
Which functional programming languages have you used, if any?
Haskell
What did you like about the experience?
Meeting people with a common interest and solving problems with them. People!
What did you dislike about the experience?
The editor installation path took a bit long.
Where did the team spend the most time?
Modelling the data received from the API and learning about bs-fetch interop and learning about type systems.
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Editor plugins seems to be a bit hard to setup with a previous ocaml installation on the computer.
Did you find any error messages hard to follow? If so, which ones?
The hardest ones are the tiny ones, missing a comma in a react component, missing semi colon etc. “Error on line 1 0:0”.
Anything in particular you wish would have been better documented?
We did not read much documentation. The editor tools themselves helped us a lot, being able to go to the definition of most modules was really helpful.
What would you change in the ecosystem to make it better?
Precious ocaml and opal installations not conflicting with the reason-cli installation, this seemed to be our biggest blocker and lot of people resorted to the legacy reason plugins.
What would you like to build or learn for your next Dojo?
The type system! I think “making illegal states unrepresentable” is a great thing to showcase, especially for fetching data.

Timestamp
5/28/2018 9:59:04
Which dojo did you attend?
Sweden, Stockholm
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Pascal, C, C++, Java, C#, Golang, Haskell, OCaml, Elm
Which functional programming languages have you used, if any?
Clojure, Haskell, OCaml, Elm
What did you like about the experience?
The dojo task was interesting because it had a couple of different subtasks so that you could choose one and jump in the deep end.
What did you dislike about the experience?
Not having any particular JS or React experience (besides what I've gathered from reading off the web and staying up to date), it was frustrating that the tasks were more about React than about Reason itself.
Where did the team spend the most time?
Figuring out how to interop Reason and React
Option 1
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
No, they worked surprisingly well.
Did you find any error messages hard to follow? If so, which ones?
Yes, the message about undefined field (because you had forgotten to open the containing module) was not too obvious. To my surprise we didn't get any error message at all when we tried to do List.map instead of Array.map. It actually worked, but produced the wrong result.
Anything in particular you wish would have been better documented?
What would you change in the ecosystem to make it better?
I can't really tell yet. I feel like the documentation overall is quite good, but plenty of knowledge of React seems to be expected. That's fine of course as long as there's a big label somewhere warning the reader so that they know that they need to check other sources too.
As with any fairly new language it was difficult to find answers to questions that were not discussed in the documentation. Surely the situation will improve over time.
What would you like to build or learn for your next Dojo?
Backend stuff!

Timestamp
5/28/2018 12:45:40
Which dojo did you attend?
Russia, Moscow
Any previous programming experience?
Yes
Which typed languages have you used, if any?
TypeScript
Which functional programming languages have you used, if any?
What did you like about the experience?
More strict types
What did you dislike about the experience?
Not usable with React
Where did the team spend the most time?
Write bindings to React
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
No
Did you find any error messages hard to follow? If so, which ones?
I get sometimes Unknown Error
Anything in particular you wish would have been better documented?
native
What would you change in the ecosystem to make it better?
Types, more friendly like TypeScript
What would you like to build or learn for your next Dojo?
Native

Timestamp
5/28/2018 13:07:00
Which dojo did you attend?
Russia, St.Petersburg
Any previous programming experience?
Yes
Which typed languages have you used, if any?
F#
Which functional programming languages have you used, if any?
F#
What did you like about the experience?
New FP language, nice people
What did you dislike about the experience?
Format of the event - better it was simple workshop.
No one told about language.
Where did the team spend the most time?
Interop with JS
Option 1
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
No
Did you find any error messages hard to follow? If so, which ones?
Only in VSCode
Anything in particular you wish would have been better documented?
No
What would you change in the ecosystem to make it better?
What would you like to build or learn for your next Dojo?
Base features of the language

Timestamp
5/28/2018 13:11:33
Which dojo did you attend?
Russia, St.Petersburg
Any previous programming experience?
Yes
Which typed languages have you used, if any?
OCaml, C++, C#, Haxe
Which functional programming languages have you used, if any?
OCaml
What did you like about the experience?
I got the task which should be done in limied time and that fact prevents procrastinating
What did you dislike about the experience?
Task is not very interesting, it doesn't describe that Reason is better that anything else. A lot of type annotations for simple task discourage from using typed languages.
Where did the team spend the most time?
Binding to these 4 components from simple-react-maps.
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Did you find any error messages hard to follow? If so, which ones?
It will be great to add a quickfix that changes syntax from structure access `identifier.Modulename.field` to lens-like `Modulename.field identifier`
Anything in particular you wish would have been better documented?
Reason manual seems to be lagging behind Bucklescript one
What would you change in the ecosystem to make it better?
Bucklescript is strictly better than ReasonML :)
What would you like to build or learn for your next Dojo?
Something that demonstrates that types matter

Timestamp
5/28/2018 13:36:46
Which dojo did you attend?
Russia, Moscow
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Which functional programming languages have you used, if any?
What did you like about the experience?
The most useful part was connecting existing React components with Reason
What did you dislike about the experience?
It took a lot of time to get first results
Where did the team spend the most time?
On typing props and debugging the app in browser
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
The most annoying thing was errors in JSX code. Mostly errors messages was very informative and useful but not in case with JSX
Did you find any error messages hard to follow? If so, which ones?
1) Errors in JSX
2) Unbound contructor (or something like that)
Anything in particular you wish would have been better documented?
I still don't know how to type callbacks :)
What would you change in the ecosystem to make it better?
JSX error messages, more examples of real world apps
What would you like to build or learn for your next Dojo?
I want to know how to build "big" apps using only local components' state

Timestamp
5/28/2018 14:07:12
Which dojo did you attend?
Czech Republic, Prague
Any previous programming experience?
Yes
Which typed languages have you used, if any?
C++, Java
Which functional programming languages have you used, if any?
OCaml, Haskell
What did you like about the experience?
The atmosphere, the idea, the task (heavy bindings, realistic task, not just inspirational)
What did you dislike about the experience?
Where did the team spend the most time?
Writing bindings to JS properly
Option 1
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
well, setting up vim configuration + esy was not trivial, but I recognise that's not the recommended way :)
Did you find any error messages hard to follow? If so, which ones?
no
Anything in particular you wish would have been better documented?
More examples of bindings, specifically for React components
What would you change in the ecosystem to make it better?
Make it easier to configure local environments, perhaps with esy?
What would you like to build or learn for your next Dojo?
I liked the Jared's workshop on the ReasonConf. Maybe some Reprocessing-based game or visualisation

Timestamp
5/28/2018 16:30:46
Which dojo did you attend?
Russia, St.Petersburg
Any previous programming experience?
Yes
Which typed languages have you used, if any?
TypeScript, Java, C, C++, OCaml, Swift
Which functional programming languages have you used, if any?
Clojure
What did you like about the experience?
Exercise with interop
What did you dislike about the experience?
Too little basic concepts
Where did the team spend the most time?
Working with external component (installing, writing external declarations, trying to understand syntax for React components)
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
No
Did you find any error messages hard to follow? If so, which ones?
Anything in particular you wish would have been better documented?
What would you change in the ecosystem to make it better?
What would you like to build or learn for your next Dojo?

Timestamp
5/28/2018 17:35:34
Which dojo did you attend?
Sweden, Stockholm
Any previous programming experience?
Yes
Which typed languages have you used, if any?
Java, C++, C, Elm
Which functional programming languages have you used, if any?
Elm
What did you like about the experience?
Welcoming, suitable for noobs, fun!
What did you dislike about the experience?
nobody who came had enough reason experience to guide the others
Where did the team spend the most time?
Syntax we weren't used to; Problems with "unexpected syntax errors" everywhere for stuff like missing semi colons; setting up editor for vim users
Option 1
Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
VS code: most of the time auto completion/hints just didn't work. Merlin: Unexpected Syntax Error for missing semicolons and colons... Really??
Did you find any error messages hard to follow? If so, which ones?
Unexpected Syntax Error; Unbound constructors; Hard to google error messages :'(
Anything in particular you wish would have been better documented?
Some documentation was outdated; there wasn't really any time to more than skim the existing documentation; hard to find other sources e.g. in blog posts or on stack overflow at this point
What would you change in the ecosystem to make it better?
The name is problematic as it makes googling for solutions really hard; Unexpected Syntax Errors should just burn in hell
What would you like to build or learn for your next Dojo?
Format could be more workshop-y, with some people who actually know their reason. Really liked the example though, as it included both some frontend and some data fetching!