Re: Upcoming refraction module in bolts [was: DUB project type support for Emacs Projectile]

2020-06-15 Thread jmh530 via Digitalmars-d-learn

On Monday, 15 June 2020 at 17:32:26 UTC, Jean-Louis Leroy wrote:

[snip]


Thanks, cool.




Upcoming refraction module in bolts [was: DUB project type support for Emacs Projectile]

2020-06-15 Thread Jean-Louis Leroy via Digitalmars-d-learn

On Monday, 15 June 2020 at 16:03:08 UTC, jmh530 wrote:

On Monday, 15 June 2020 at 13:17:11 UTC, Jean-Louis Leroy wrote:

[snip]

Nah, I saw it. Well. My take on it has been ready for months 
but I had to wait for my employer's permission to publish it. 
They are very open-source friendly, and as a consequence there 
is a glut of requests for open-sourcing personal projects. I 
guess I am going to cancel my request...




Ah. I suppose that depends implementation/performance/feature 
differences...


No, it's just that they are essentially equivalent. I spent some 
time supporting InterfaceValues to immutable and const classes 
and objects. Not sure if he has that, I haven't played with tardy 
yet. OTOH I didn't bother with allocator support.




On the bright side, I just got authorized to contribute my 
work on function refraction (currently part of openmethods) to 
bolts. You can see it here: 
https://github.com/aliak00/bolts/pull/10


I saw when you mentioned it earlier. Though it hasn't been 
something I've needed as yet, it's good to know that it's there.


This allows the function mixins to work when they are in 
different modules, right? I don't see a test for that, but it 
might be useful to include such an example (I'm pretty sure


You mean an example with two modules?

I plan to write a D blog entry that walks through the pitfalls of 
cross-module mixing.


Atila's tardy makes use of a similar functionality when they 
are in different modules).


Actually we were in contact (and with Ali of course). I pointed 
him to the part of openmethods that creates functions. He has a 
'refraction.d' too. I coined the term 'refraction'. ;-)


It's interesting that many of the examples for refract are like 
refract!(F, "F") or refract!(answer, "answer"). Would something 
like
Function refract(alias fun, string localSymbol = 
__traits(identifier, fun))()

work for you?


Not at all :-D That would return a name in the caller module. In 
the mixture you want to use only local names, and navigate from 
there.


Maybe I should change all the examples, including the unit tests, 
to avoid giving the impression that the original function name is 
a good default for the localSymbol. In most cases it's not.





Re: DUB project type support for Emacs Projectile

2020-06-15 Thread jmh530 via Digitalmars-d-learn

On Monday, 15 June 2020 at 13:17:11 UTC, Jean-Louis Leroy wrote:

[snip]

Nah, I saw it. Well. My take on it has been ready for months 
but I had to wait for my employer's permission to publish it. 
They are very open-source friendly, and as a consequence there 
is a glut of requests for open-sourcing personal projects. I 
guess I am going to cancel my request...




Ah. I suppose that depends implementation/performance/feature 
differences...


On the bright side, I just got authorized to contribute my work 
on function refraction (currently part of openmethods) to 
bolts. You can see it here: 
https://github.com/aliak00/bolts/pull/10


I saw when you mentioned it earlier. Though it hasn't been 
something I've needed as yet, it's good to know that it's there.


This allows the function mixins to work when they are in 
different modules, right? I don't see a test for that, but it 
might be useful to include such an example (I'm pretty sure 
Atila's tardy makes use of a similar functionality when they are 
in different modules).


It's interesting that many of the examples for refract are like 
refract!(F, "F") or refract!(answer, "answer"). Would something 
like
Function refract(alias fun, string localSymbol = 
__traits(identifier, fun))()

work for you?


Re: DUB project type support for Emacs Projectile

2020-06-15 Thread Jean-Louis Leroy via Digitalmars-d-learn

On Sunday, 14 June 2020 at 18:49:01 UTC, jmh530 wrote:

On Sunday, 14 June 2020 at 17:19:05 UTC, Jean-Louis Leroy wrote:

[snip]


In case you missed it, I thought you would find this interesting
https://forum.dlang.org/thread/dytpsnkqnmgzniiwk...@forum.dlang.org


Nah, I saw it. Well. My take on it has been ready for months but 
I had to wait for my employer's permission to publish it. They 
are very open-source friendly, and as a consequence there is a 
glut of requests for open-sourcing personal projects. I guess I 
am going to cancel my request...


On the bright side, I just got authorized to contribute my work 
on function refraction (currently part of openmethods) to bolts. 
You can see it here: https://github.com/aliak00/bolts/pull/10


Re: DUB project type support for Emacs Projectile

2020-06-14 Thread jmh530 via Digitalmars-d-learn

On Sunday, 14 June 2020 at 17:19:05 UTC, Jean-Louis Leroy wrote:

[snip]


In case you missed it, I thought you would find this interesting
https://forum.dlang.org/thread/dytpsnkqnmgzniiwk...@forum.dlang.org


Re: DUB project type support for Emacs Projectile

2020-06-14 Thread Jean-Louis Leroy via Digitalmars-d-learn

On Sunday, 14 June 2020 at 16:04:32 UTC, Jean-Louis Leroy wrote:

On Sunday, 14 June 2020 at 09:11:58 UTC, Andre Pany wrote:
On Saturday, 13 June 2020 at 19:27:53 UTC, Jean-Louis Leroy 
wrote:
On Monday, 18 November 2019 at 23:06:14 UTC, Per Nordlöw 
wrote:
Have anybody written support for DUB project types in Emacs' 
projectile?


See: 
https://www.projectile.mx/en/latest/projects/#adding-custom-project-types


Normally it should be as easy as this:

(projectile-register-project-type
 'dub '("dub.json" "dub.sdl")
 :compile "dub compile"
 :test "dub test"
 :run "dub run")

But it doesn't work for me and I cannot figure out why.


The command is `dub build` which will build the project from 
the current work dir. You can set another work dir with arg 
`--root FOLDER` if needed. Same for `dub test` and `dub run`.


Kind regards
Andre


`dub build` - right, sorry for that. But the real problem (and 
the reason why I never noticed the compile/build mistake) is 
that projectile deigns not recognize the project type. Yet I 
did try it in directories containing a dub project, IOW a 
`dub.json` was present. I just lived with it, entering the 
commands manually when I need to restart emacs (which happens 
maybe once in a week). I should debug this, maybe I'll do that 
today...


OK, projectile checks for the presence of *all* the files in the 
list. So there:


(defun projectile-dub-project-p ()
  "Check if a project contains a dub.json or dub.sdl file."
  (or (projectile-verify-file "dub.json")
  (projectile-verify-file "dub.sdl")))

(projectile-register-project-type
 'dub #'projectile-dub-project-p
 :compile "dub build"
 :test "dub test"
 :run "dub run")



Re: DUB project type support for Emacs Projectile

2020-06-14 Thread Jean-Louis Leroy via Digitalmars-d-learn

On Sunday, 14 June 2020 at 09:11:58 UTC, Andre Pany wrote:
On Saturday, 13 June 2020 at 19:27:53 UTC, Jean-Louis Leroy 
wrote:

On Monday, 18 November 2019 at 23:06:14 UTC, Per Nordlöw wrote:
Have anybody written support for DUB project types in Emacs' 
projectile?


See: 
https://www.projectile.mx/en/latest/projects/#adding-custom-project-types


Normally it should be as easy as this:

(projectile-register-project-type
 'dub '("dub.json" "dub.sdl")
 :compile "dub compile"
 :test "dub test"
 :run "dub run")

But it doesn't work for me and I cannot figure out why.


The command is `dub build` which will build the project from 
the current work dir. You can set another work dir with arg 
`--root FOLDER` if needed. Same for `dub test` and `dub run`.


Kind regards
Andre


`dub build` - right, sorry for that. But the real problem (and 
the reason why I never noticed the compile/build mistake) is that 
projectile deigns not recognize the project type. Yet I did try 
it in directories containing a dub project, IOW a `dub.json` was 
present. I just lived with it, entering the commands manually 
when I need to restart emacs (which happens maybe once in a 
week). I should debug this, maybe I'll do that today...





Re: DUB project type support for Emacs Projectile

2020-06-14 Thread Andre Pany via Digitalmars-d-learn

On Saturday, 13 June 2020 at 19:27:53 UTC, Jean-Louis Leroy wrote:

On Monday, 18 November 2019 at 23:06:14 UTC, Per Nordlöw wrote:
Have anybody written support for DUB project types in Emacs' 
projectile?


See: 
https://www.projectile.mx/en/latest/projects/#adding-custom-project-types


Normally it should be as easy as this:

(projectile-register-project-type
 'dub '("dub.json" "dub.sdl")
 :compile "dub compile"
 :test "dub test"
 :run "dub run")

But it doesn't work for me and I cannot figure out why.


The command is `dub build` which will build the project from the 
current work dir. You can set another work dir with arg `--root 
FOLDER` if needed. Same for `dub test` and `dub run`.


Kind regards
Andre


Re: DUB project type support for Emacs Projectile

2020-06-13 Thread Jean-Louis Leroy via Digitalmars-d-learn

On Monday, 18 November 2019 at 23:06:14 UTC, Per Nordlöw wrote:
Have anybody written support for DUB project types in Emacs' 
projectile?


See: 
https://www.projectile.mx/en/latest/projects/#adding-custom-project-types


Normally it should be as easy as this:

(projectile-register-project-type
 'dub '("dub.json" "dub.sdl")
 :compile "dub compile"
 :test "dub test"
 :run "dub run")

But it doesn't work for me and I cannot figure out why.



DUB project type support for Emacs Projectile

2019-11-18 Thread Per Nordlöw via Digitalmars-d-learn
Have anybody written support for DUB project types in Emacs' 
projectile?


See: 
https://www.projectile.mx/en/latest/projects/#adding-custom-project-types