- HS: all code in GF/src needed for the grammar compiler and the Haskell runtime - in other words, for building the program called "gf"
- Runtime: the C runtime and the bindings to it from Java, Python, Haskell, Javascript, DotNet, ...
- RGL: the contents of GF/lib except translator/ and experimental/ - in other words, for building the standard RGL and its API documentation
- Examples: GF/examples with GF/lib/src/translator moved here
- Tools: mainly GF/src/ui and GF/src/server
- Documentation: GF/doc i.e. tutorial and reference manual, as well as the web page
The dependencies between these sets are simple enough ("A -> B" means "B depends on A")
- HS -> RGL -> Examples
- Runtime,HS -> Tools
- Documentation
However, the situation will be different if the HS runtime is deprecated and the gf shell starts to use the C runtime, as Krasimir has planned for the future. Then it would make sense to package HS (or parts of it) and Runtime together.
Should we put all "tools" together, or should they have individual repos? This may also apply to "examples".
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Encès 11 de maig de 2018 a 10:15:48, J. Camilleri John (jo...@johnjcamilleri.com) va escriure:
--
Although I like to use site generation personally, I don't think it's a good idea for the GF project because it would mean another thing to set up, another hosting environment dependency, and another language/format for people to learn.
I think we should start by splitting the biggest components first: the compiler/tools, then the rgl, etc
-- bruno cuconato
<Screen Shot 2018-05-11 at 10.11.36.png>
John
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
-- bruno cuconato
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
the GF compiler output the data we need in a machine-readable format it would help a lot too.
how would one go about using the --tags flag, though? its not too slow to run, but then one would have to parse its output to see where the .gf-tags files were written, then parse them all to an in-memory data structure, and then read the lines in question as needed? or is there a better way?
also, what is the `indir` value supposed to mean in the files? that a thing is available in a given module but is not defined there?
hi John,
both ways seem bad to me: not preserving history is a no-go, but having each split repo contain all of GF's history is very troublesome too -- we'd have to download several 1GB repos instead of one.I thought that repos like your rgl-source-browser would be automatically be made smaller by git, but apparently this is not so -- I just tried cloning it here and it was much bigger than it should've been.
You are welcome to clone again and confirm!
Ialso had to delete the GitHub repo and recreate it;
Anyway, this seems like good news so hopefully the new RGL repository will also be shrunk.
I don't know yet if we can also shrink a repository in place (GF)
I don't know yet if we can also shrink a repository in place (GF)I think it would work no problem, but then anyone who tries to pull from it would have to resolve (artificial) conflicts or rebase, because history is rewritten. because of this and the fact that it would the be nice to have the original history preserved, I'd still vote to have the gf-core repository!
Of course people who don't opt-in will not get new updates, but at least their setup won't break.
Finally, a note about build systems. I know there are lots of build systems out there today. GF is using Cabal, but there's Ant, Grunt, Gradle, and certainly many others. I don't really know much about these, and since I want to change as little as possible at this stage, the plan for the RGL's build script will remain a combination of Haskell & Makefile (I don't think Cabal makes sense here). Improvements to this can be considered after the dust from the repository split has settled.
It is better if the build system for the RGL doesn't depend even on Haskell. In this way someone who has downloaded the GF binary could build the RGL without installing Haskell.
Yes, that is a very good point. There will inevitably be some logic which probably can't be handled by a Makefile alone, and there Bash scripts seem like the obvious solution. But I'm not sure what implications this has for people running Windows.
I am currently putting together a new build script for the RGL in Haskell, essentially based on Setup.hs. I am assuming that lib/src/Make.hs is mostly outdated — please correct me if I'm wrong! Either way I am still looking closely at it in case there's something useful there.I still think a Haskell-free way of building the RGL is important to have, but that will be a second priority after I sort out all the details of the primary build method.John
On Fri, 6 Jul 2018 at 13:10, Krasimir Angelov <kr.an...@gmail.com> wrote:
Another option is to add enough smartness in the compiler so that building the RGL doesn't need much more sophistication.
На пт, 6.07.2018 г., 11:27 John J. Camilleri <jo...@johnjcamilleri.com> написа:
I think the idea of being able to avoid Haskell completely is very enticing, especially for those who don't have Haskell installed but want to develop and build RGs. Maybe we can have a "light" build script for the RGL, in both Bash format and a Windows batch file, which does the bare minimum. Then for more complex build options we can use Makefile + Haskell.
Yes it's more stuff to maintain (and I have no experience with batch files nor a Windows machine to test them on), but if they are truly "light" then they should be very simple.
On Fri, 6 Jul 2018 at 11:16, Krasimir Angelov <kr.an...@gmail.com> wrote:
--On 6 July 2018 at 10:48, John J. Camilleri <jo...@johnjcamilleri.com> wrote:That was actually why I made the Setup.hs to build the RGL. In this way the Windows users don't need anything else than GHC which they would need anyway in order to build the compiler. Before switching to using cabal, the only way to build GF on Windows was via Cygwin which is a very unnatural environment on Windows.Yes, that is a very good point. There will inevitably be some logic which probably can't be handled by a Makefile alone, and there Bash scripts seem like the obvious solution. But I'm not sure what implications this has for people running Windows.Splitting the RGL and opens the question again. There is no Make by default on Windows, so maybe, after all, using a build script in Haskell would be the most platform independent solution which doesn't add new dependencies to the eco system.
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
Right: lib/src/Make.hs was used for internal development purposes many years ago but has been replaced by the cabal procedure long time ago.Aarne.
On Tue, Jul 10, 2018 at 10:44 AM, John J. Camilleri <jo...@johnjcamilleri.com> wrote:
I am currently putting together a new build script for the RGL in Haskell, essentially based on Setup.hs. I am assuming that lib/src/Make.hs is mostly outdated — please correct me if I'm wrong! Either way I am still looking closely at it in case there's something useful there.I still think a Haskell-free way of building the RGL is important to have, but that will be a second priority after I sort out all the details of the primary build method.John
On Fri, 6 Jul 2018 at 13:10, Krasimir Angelov <kr.an...@gmail.com> wrote:
Another option is to add enough smartness in the compiler so that building the RGL doesn't need much more sophistication.
На пт, 6.07.2018 г., 11:27 John J. Camilleri <jo...@johnjcamilleri.com> написа:
I think the idea of being able to avoid Haskell completely is very enticing, especially for those who don't have Haskell installed but want to develop and build RGs. Maybe we can have a "light" build script for the RGL, in both Bash format and a Windows batch file, which does the bare minimum. Then for more complex build options we can use Makefile + Haskell.
Yes it's more stuff to maintain (and I have no experience with batch files nor a Windows machine to test them on), but if they are truly "light" then they should be very simple.
On Fri, 6 Jul 2018 at 11:16, Krasimir Angelov <kr.an...@gmail.com> wrote:
--On 6 July 2018 at 10:48, John J. Camilleri <jo...@johnjcamilleri.com> wrote:That was actually why I made the Setup.hs to build the RGL. In this way the Windows users don't need anything else than GHC which they would need anyway in order to build the compiler. Before switching to using cabal, the only way to build GF on Windows was via Cygwin which is a very unnatural environment on Windows.Yes, that is a very good point. There will inevitably be some logic which probably can't be handled by a Makefile alone, and there Bash scripts seem like the obvious solution. But I'm not sure what implications this has for people running Windows.Splitting the RGL and opens the question again. There is no Make by default on Windows, so maybe, after all, using a build script in Haskell would be the most platform independent solution which doesn't add new dependencies to the eco system.
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+unsubscribe@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
--
---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.