digitalmars.D.bugs - [Issue 5109] New: some advise
- d-bugmail puremagic.com (57/57) Oct 23 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5109
- d-bugmail puremagic.com (18/55) Oct 25 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5109
- d-bugmail puremagic.com (10/10) Nov 04 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5109
http://d.puremagic.com/issues/show_bug.cgi?id=5109
Summary: some advise
Product: D
Version: D2
Platform: Other
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P1
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: galaxylang gmail.com
---
I am from china and poor of english,i am sorry you may can't
understand what i am meaning.
Recently,i am study a lite about haskell,so i think now D's
template is some like a functional program evolution form c++.
because i find some restrict,i think it's still in a low-level
for we still think it in a c++ way.Should we drop more from c++,
then go into a high-level template program?
now i want to point out what i found which is can't tolerance and some
i think should be work out.
1:
this code don't work because the name query somelike not a bidirection
way,[alias ReturnType!(T) Out],can't resolve the opCall
class monad(alias T)
{
alias ReturnType!(T) Out;//*****
}
class maybe(T):monad!(maybe!T)
{
auto opCall(maybe!T)
{
alias maybe!long R;
return R.init;
}
}
there is another sample:
struct B(T)
{
}
alias B!(C) BC;//identifier 'C' is not defined!
alias B!int C;
2:
add parital template feature
struct P(A...)
{
}
alias P!int P1;
P1 p1;//instance of P!int
alias P1!long P2;
P2 p2;//intance of P!(int,long)
this feature will make D has the power to write a template functional
library,and change D into a high-levle program language.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5109
bearophile_hugs eml.cc changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bearophile_hugs eml.cc
I am from china and poor of english,i am sorry you may can't
understand what i am meaning.
I think we are able to understand what you mean.
this code don't work because the name query somelike not a bidirection
way,[alias ReturnType!(T) Out],can't resolve the opCall
class monad(alias T)
{
alias ReturnType!(T) Out;//*****
}
class maybe(T):monad!(maybe!T)
{
auto opCall(maybe!T)
{
alias maybe!long R;
return R.init;
}
}
This seems a valid bug report or enhancement request.
there is another sample:
struct B(T)
{
}
alias B!(C) BC;//identifier 'C' is not defined!
alias B!int C;
This is a bug report, and I think it's already present somewhere in Bugzilla.
In future I suggest you to put just one bug report (or enhancement request) for
each Bugzilla entry.
2:
add parital template feature
struct P(A...)
{
}
alias P!int P1;
P1 p1;//instance of P!int
alias P1!long P2;
P2 p2;//intance of P!(int,long)
this feature will make D has the power to write a template functional
library,and change D into a high-levle program language.
This is another different enhancement request. I have never seen it before. It
looks cute. Are you able to show one or more possible usages of it?
I will soon link this bug report in the main D newsgroup.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 25 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5109 --- I have not on net for a long time,because i have not a network at home, (network is still very expensive in our country in our country :) and i am now prepare for some examine.so i submit a new issue to attract your notice,and some new i advise. http://d.puremagic.com/issues/show_bug.cgi?id=5067 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 04 2010









d-bugmail puremagic.com 