Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4085534
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T18:35:34+00:00 2026-05-20T18:35:34+00:00

In C# you can put files in folders corresponding to their namespaces and view

  • 0

In C# you can put files in folders corresponding to their namespaces and view them in the Solution explorer.

In F# it seems I have to put everything in plain specifically ordered list for compilation. When I get to scale of ~300 of classes it gets a bit confusing and disorganized and I start to envy C# and think that probably it is the price for type inference.

Are there better options than splitting to several assemblies?

Judging by F# compiler source its the route they have taken but I have pretty large system of interconnected components (Controller – ViewModel – View, > 300 classes) I want to be in one assembly because of circular dependencies even at level of interfaces.

Should I forget about one file – one class and create some huge files? (e.g. in F# compiler you have several source files in 100kb to 300kb range and some auto generated around 1Mb!)

What is your experience with large F# projects?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T18:35:34+00:00Added an answer on May 20, 2026 at 6:35 pm

    You mention “circular dependencies”, to be clear, F# will never let you spread circular dependencies across files. If type Foo refers to type Bar and type Bar refers to type Foo, then Foo and Bar must both be defined in the same file in the same type ... and ... group in F#.

    The issue here is one of organization and navigation, that is mostly about the tooling. The VS solution explorer displays a list of files; folders enable you to ‘collapse’ groups of files which can make it easier to organize your thoughts or navigate across ‘great distances’ of many files. However for navigation there are various other tools (Go To Definition, search for text in the current project, …) to let you navigate to e.g. a particular class definition. (Hopefully these tools will continue to improve for F# in particular, as well as VS in general, in future releases.)

    In any case, I firmly believe that a “pretty large system of interconnected components (Controller – ViewModel – View, > 300 classes)” is a code smell. If you can’t untangle these to have an archetectural layering such that there are portions that do not depend on other portions (and thus could be defined ‘first’ in a prior file in F#), then you have bigger problems than just “how to organize your F# code”. My opinionated view is perhaps best-expressed here.

    EDIT (2018): meanwhile, the tools have improved, among many other things, go-to-definition, find-all-references, global renaming of identifiers, folder support, file reorganization etc have been added in the past few years. For solutions that require mutual references between classes, namespace rec and module rec have been introduced to limit the need for type ... and ....

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Can I put my bin folder with all of its .dll files at a
Can you put permissions on files that are uploaded to S3? Or if someone
how i can put multiple buttons in scroll view with according to my requirement?
I'm writing a script that can FTP files and folders using PHP functionality. I'm
I trying to put my Mac's data in order. I have many rc-files at
What is the best place (which folder, etc) to put view-specific javascript files in
After downloading/installing Android SDK, it put the files/folders here: C:\Program Files (x86)\Android\android-sdk if I
How can I put up a File Open dialog from some VBA running in
With VIM or Emacs I can put comments in the file that will be
I'm wondering how can I put a header into my PDF file, cause I've

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.