You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The changes I made this summer went pretty well, but the organization of drasil-gool fell behind a bit. Some of the structure and naming is a bit misleading.
It is called drasil-gool when it contains both GOOL and GProc.
All of its modules are in drasil-gool/Drasil/GOOL.
Some of the helper files have misleading names and/or have functions in the wrong places:
LanguagePolymorphic.hs has functions that the Julia renderer doesn't use.
CommonPseudoOO.hs has functions that are Shared, i.e. not intrinsically OO.
There may be others. For example, CLike.hs may have functions that are used by languages that are not particularly C-like, e.g. Julia.
There are some naming inconsistencies in both drasil-gool and drasil-code:
Procedural is sometimes referred to as Proc, sometimes as GProc.
Features common to both generic languages are referred to as Common or Shared.
There's a lot of code duplication between CodeInfoOO.hs and CodeInfoProc.hs.
I would recommend making the following changes:
I don't think it's overly important to rename drasil-gool, but if we can find a way to refer to GOOL and GProc collectively, that could be nice. But we would need to use the name consistently for it to be a positive change.
drasil-genlang sounds good, but drasil-gen and drasil-lang exist 😄.
I think we should split up drasil-gool/Drasil into GOOL, GProc, and Shared folders.
We should inventory the helper functions (LanguagePolymorphic.hs, CommonPseudoOO.hs, etc.). We'll want to rename files and move functions to different files, so that the name of each file accurately describes the kinds of functions that can be found in it.
We need to pick a name for procedural and shared programs and stick with it. I like GProc and Shared personally.
We should merge the implementations for most of the typeclass methods in the CodeInfoX.hs files. This should be pretty easy, and will look a lot like the LanguagePolymorphic.hs functions for the renderers.
The text was updated successfully, but these errors were encountered:
The changes I made this summer went pretty well, but the organization of
drasil-gool
fell behind a bit. Some of the structure and naming is a bit misleading.drasil-gool
when it contains both GOOL and GProc.drasil-gool/Drasil/GOOL
.LanguagePolymorphic.hs
has functions that the Julia renderer doesn't use.CommonPseudoOO.hs
has functions that are Shared, i.e. not intrinsically OO.CLike.hs
may have functions that are used by languages that are not particularly C-like, e.g. Julia.drasil-gool
anddrasil-code
:Proc
, sometimes asGProc
.Common
orShared
.CodeInfoOO.hs
andCodeInfoProc.hs
.I would recommend making the following changes:
drasil-gool
, but if we can find a way to refer to GOOL and GProc collectively, that could be nice. But we would need to use the name consistently for it to be a positive change.drasil-genlang
sounds good, butdrasil-gen
anddrasil-lang
exist 😄.drasil-gool/Drasil
intoGOOL
,GProc
, andShared
folders.LanguagePolymorphic.hs
,CommonPseudoOO.hs
, etc.). We'll want to rename files and move functions to different files, so that the name of each file accurately describes the kinds of functions that can be found in it.GProc
andShared
personally.CodeInfoX.hs
files. This should be pretty easy, and will look a lot like theLanguagePolymorphic.hs
functions for the renderers.The text was updated successfully, but these errors were encountered: