{"action":"opened","issue":{"url":"https://api.github.com/repos/baronfel/fsharp-lang-testbed/issues/5","repository_url":"https://api.github.com/repos/baronfel/fsharp-lang-testbed","labels_url":"https://api.github.com/repos/baronfel/fsharp-lang-testbed/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/baronfel/fsharp-lang-testbed/issues/5/comments","events_url":"https://api.github.com/repos/baronfel/fsharp-lang-testbed/issues/5/events","html_url":"https://github.com/baronfel/fsharp-lang-testbed/issues/5","id":182150498,"number":5,"title":"Allow all declarations to be mutually referential and the compiler takes files in any order","user":{"login":"baronfel","id":573979,"avatar_url":"https://avatars.githubusercontent.com/u/573979?v=3","gravatar_id":"","url":"https://api.github.com/users/baronfel","html_url":"https://github.com/baronfel","followers_url":"https://api.github.com/users/baronfel/followers","following_url":"https://api.github.com/users/baronfel/following{/other_user}","gists_url":"https://api.github.com/users/baronfel/gists{/gist_id}","starred_url":"https://api.github.com/users/baronfel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baronfel/subscriptions","organizations_url":"https://api.github.com/users/baronfel/orgs","repos_url":"https://api.github.com/users/baronfel/repos","events_url":"https://api.github.com/users/baronfel/events{/privacy}","received_events_url":"https://api.github.com/users/baronfel/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/baronfel/fsharp-lang-testbed/labels/open","name":"open","color":"ededed"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-11T01:10:09Z","updated_at":"2016-10-11T01:10:09Z","closed_at":null,"body":"# Idea 10276974: Allow all declarations to be mutually referential and the compiler takes files in any order #\n\n## Status : open\n\n## Submitted by Kevin Ransom on 10/19/2015 12:00:00 AM\n\n## 39 votes\n\nWith F# becoming more and more multi-editor and cross-platform, it is becoming increasingly difficult to teach all build/edit tools about F#'s file order. The F# community are currently struggling to \"update\" each new build/edit tool to understand that F# actually needs a file order.\r\nPart of the problem is that there is no standard textual way to specify this file order except as command line arguments, and these are not stored in an editable form. There is no standard way to specify the F# file order. We need an (optional) solution to this problem that is closer to home and doesn't involve modifying build/edit tools.\r\nThis proposal is one of three alternatives to deal with this problem in the F# language/compiler itself.\r\nThe specific proposal covered by this UV entry is to just change F# to use no file order at all, allowing all declarations in an assembly to be mutually referential with other declarations.\r\nRelated alternative: Keep a file order, but infer it from #load/#require declarations. This is covered by [/ideas/suggestion-6323146-syntactically-describe-dependencies-between-files](/ideas/suggestion-6323146-syntactically-describe-dependencies-between-files.md)\r\nRelated alternative: Keep a file order, but optionally have it specified by a fileorder.fsx or fileorder.txt or fileorder.json: [/ideas/suggestion-13394442-optionally-specify-file-order-by-a-fileorder-fsx](/ideas/suggestion-13394442-optionally-specify-file-order-by-a-fileorder-fsx.md)"}}
{"actor":{"display_login":"baronfel"}}