Thread overview | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 03, 2003 Functional C++ | ||||
---|---|---|---|---|
| ||||
http://www.cc.gatech.edu/~yannis/fc++/ http://www.cc.gatech.edu/~yannis/fc++/funoo.pdf "FC++ is a library for programming functionally in C++. Compared to other C++ functional programming libraries, FC++ is distinguished by its powerful type system which allows manipulating parametrically polymorphic functions (e.g., passing them as arguments to other functions and returning them as results). "In this paper, we show how FC++ can be used in common OO programming tasks. We demonstrate FC++ implementations of several common design patterns (Adapter, Builder, Command, and more). Compared to conventional C++ implementations of these patterns, our implementations are either simpler (in that fewer classes/dependencies are needed), more efficient, or more type-safe (thanks to parametric polymorphism and type-inference)." |
March 04, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mark Evans |
Mark Evans wrote:
> http://www.cc.gatech.edu/~yannis/fc++/ http://www.cc.gatech.edu/~yannis/fc++/funoo.pdf
>
> "FC++ is a library for programming functionally in C++. Compared to other C++ functional programming libraries, FC++ is distinguished by its powerful type system which allows manipulating parametrically polymorphic functions (e.g., passing them as arguments to other functions and returning them as results).
>
> "In this paper, we show how FC++ can be used in common OO programming tasks. We demonstrate FC++ implementations of several common design patterns (Adapter, Builder, Command, and more). Compared to conventional C++ implementations of these patterns, our implementations are either simpler (in that fewer classes/dependencies are needed), more efficient, or more type-safe (thanks to parametric polymorphism and type-inference)."
Interesting. Has it been tried with DM C++?
John
|
March 04, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Fletcher | In article <3E6478DA.210C4159@aston.ac.uk>, John Fletcher says... >Mark Evans wrote: >> http://www.cc.gatech.edu/~yannis/fc++/ http://www.cc.gatech.edu/~yannis/fc++/funoo.pdf .. >Interesting. Has it been tried with DM C++? Yes, the approach is interesting (Stepenov would be pleased - http://www.stlport.org/resources/StepanovUSA.html), but there are some problems with the library and DM C++. Nothing that appears to be a "show stopper" though. In the short implementation, there are problems that include the use of ::template and inline assignment to const members like: struct A { static const bool = true; }; int main() { } Pretty minor stuff to correct.. and uh, thanks Mark. Richard |
March 05, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Richard Grant | I hope DMC can be improved quickly enough to make the library work out of the box. Anyway here is a compiler pass/fail chart. http://www.cc.gatech.edu/~yannis/fc++/New/compilers.html Mark |
March 06, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Richard Grant | "Richard Grant" <fractal@clark.net> wrote in message news:b43d7g$rhr$1@digitaldaemon.com... > Yes, the approach is interesting (Stepenov would be pleased - http://www.stlport.org/resources/StepanovUSA.html), but there are some problems > with the library and DM C++. Nothing that appears to be a "show stopper" though. > In the short implementation, there are problems that include the use of ::template and inline assignment to const members like: Please send me any bug reports! |
March 07, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Richard Grant | "Richard Grant" <fractal@clark.net> wrote in message news:b43d7g$rhr$1@digitaldaemon.com... > but there are some problems > with the library and DM C++. Nothing that appears to be a "show stopper" though. > In the short implementation, there are problems that include the use of ::template and inline assignment to const members like: > > struct A { > static const bool = true; > }; > > int main() { > } But bool is a keyword, so the above must fail to compile. |
March 07, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | In article <b49q7j$1kpd$1@digitaldaemon.com>, Walter says... >But bool is a keyword, so the above must fail to compile. Darn, you caught me. Yeah - in class static member assignment works. Richard |
March 07, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Richard Grant | The FC++ library ships with a stock test harness covering all of its functionality. Is that what you're attempting? Mark In article <b4a14q$1om0$1@digitaldaemon.com>, Richard Grant says... > >In article <b49q7j$1kpd$1@digitaldaemon.com>, Walter says... > >>But bool is a keyword, so the above must fail to compile. > >Darn, you caught me. Yeah - in class static member assignment works. > >Richard > > |
March 07, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mark Evans | In article <b4asrv$29do$1@digitaldaemon.com>, Mark Evans says... > >The FC++ library ships with a stock test harness covering all of its functionality. Is that what you're attempting? At the moment, I am not attempting anything.. waiting on Walter. Richard |
April 11, 2003 Re: Functional C++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mark Evans | There, i've run into something interesting: http://spirit.sourceforge.net/ - a pervert parsing library http://spirit.sourceforge.net/index.php?doc=docs/phoenix_v1_0/index.html - an alternative to FC++, more far-going and more portable. -i. Mark Evans wrote: > http://www.cc.gatech.edu/~yannis/fc++/ > http://www.cc.gatech.edu/~yannis/fc++/funoo.pdf > > "FC++ is a library for programming functionally in C++. Compared to other C++ > functional programming libraries, FC++ is distinguished by its powerful type > system which allows manipulating parametrically polymorphic functions (e.g., > passing them as arguments to other functions and returning them as results). > > "In this paper, we show how FC++ can be used in common OO programming tasks. We > demonstrate FC++ implementations of several common design patterns (Adapter, > Builder, Command, and more). Compared to conventional C++ implementations of > these patterns, our implementations are either simpler (in that fewer > classes/dependencies are needed), more efficient, or more type-safe (thanks to > parametric polymorphism and type-inference)." > > |
Copyright © 1999-2021 by the D Language Foundation