Date: Wed, 13 Jun 2007 22:40:44 +0300> From: danielv@tx.technion.ac.il> To: squeak-dev@lists.squeakfoundation.org> Subject: Re: Fishing for a CS Masters Thesis Topic> > Under languages:Also under languages:What I would personally like to see worked on is having a better language to fill the systems programming roll. Right now everything converges on C/C++. There are higher level languages that are used to systems programming (e.g. Slang), but as far as I know they *all* convert to C. The GCC project has the ability to take an AST directly to convert to machine code, but this is also constrained by what C is capable of.What I would like to see is some other language used for this "portable assembler", but without the assumptions and limitations of C [1]. Instead of deciding that added complexity is the solution (e.g. C++) I would like to see a language that looked to simplicity. Personally, I was thinking of a Lisp language for this roll because Lisp is the only language I am aware of (a useful one anyway) that is actually *simpler* then Smalltalk. I think powerful Lisp macros would also make it possible to build abstractions on top of the very low level primitives so that you don't have to do thinks like do a function call setup unless you didn't like any of the available options.[1] Some of the limitations I was thinking of are things like the stack-based method of doing function calls and the inability to catch overflow, but I'm sure there are even more.Thanks,Jason
_________________________________________________________________ Live Earth is coming. Learn more about the hottest summer event - only on MSN. http://liveearth.msn.com?source=msntaglineliveearthwlm
another great limitation of C, like in other strictly typed languages, is inability to construct a calls to a dynamically prototyped function at runtime and lack of of type info. Even templates in C++ doesn't solve this problem - you still need to know all the types of function parameters at compile time, and there's no ways to construct and call them at runtime.
On 20/06/07, J J azreal1977@hotmail.com wrote:
Date: Wed, 13 Jun 2007 22:40:44 +0300 From: danielv@tx.technion.ac.il To: squeak-dev@lists.squeakfoundation.org Subject: Re: Fishing for a CS Masters Thesis Topic
Under languages:
Also under languages:
What I would personally like to see worked on is having a better language to fill the systems programming roll. Right now everything converges on C/C++. There are higher level languages that are used to systems programming (e.g. Slang), but as far as I know they *all* convert to C. The GCC project has the ability to take an AST directly to convert to machine code, but this is also constrained by what C is capable of.
What I would like to see is some other language used for this "portable assembler", but without the assumptions and limitations of C [1]. Instead of deciding that added complexity is the solution (e.g. C++) I would like to see a language that looked to simplicity. Personally, I was thinking of a Lisp language for this roll because Lisp is the only language I am aware of (a useful one anyway) that is actually *simpler* then Smalltalk. I think powerful Lisp macros would also make it possible to build abstractions on top of the very low level primitives so that you don't have to do thinks like do a function call setup unless you didn't like any of the available options.
[1] Some of the limitations I was thinking of are things like the stack-based method of doing function calls and the inability to catch overflow, but I'm sure there are even more.
Thanks, Jason
Live Earth is coming. Learn more about the hottest summer event - only on MSN. Check it out!
For specifics, you might look at other academic papers presented at C5.
http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings... http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings...
Many papers have a section for suggested further research. If you select one of those, you'd have some clearly done prior work to build on top of as well as an academically sound direction of where to take it.
Next year's C5 is in France if that's close to you.
http://www.cm.is.ritsumei.ac.jp/c5-08/index.php?Home http://www.cm.is.ritsumei.ac.jp/c5-07/ http://www.db.soc.i.kyoto-u.ac.jp/c5-06/
Hi!
another great limitation of C, like in other strictly typed languages, is inability to construct a calls to a dynamically prototyped function at runtime and lack of of type info. Even templates in C++ doesn't solve this problem - you still need to know all the types of function parameters at compile time, and there's no ways to construct and call them at runtime.
Would you mind to elaborate on this? Do you mean having a kind of perform: in a statically typed language ?
Alexandre
On 20/06/07, J J azreal1977@hotmail.com wrote:
Date: Wed, 13 Jun 2007 22:40:44 +0300 From: danielv@tx.technion.ac.il To: squeak-dev@lists.squeakfoundation.org Subject: Re: Fishing for a CS Masters Thesis Topic
Under languages:
Also under languages:
What I would personally like to see worked on is having a better language to fill the systems programming roll. Right now everything converges on C/C++. There are higher level languages that are used to systems programming (e.g. Slang), but as far as I know they *all* convert to C. The GCC project has the ability to take an AST directly to convert to machine code, but this is also constrained by what C is capable of.
What I would like to see is some other language used for this "portable assembler", but without the assumptions and limitations of C [1]. Instead of deciding that added complexity is the solution (e.g. C++) I would like to see a language that looked to simplicity. Personally, I was thinking of a Lisp language for this roll because Lisp is the only language I am aware of (a useful one anyway) that is actually *simpler* then Smalltalk. I think powerful Lisp macros would also make it possible to build abstractions on top of the very low level primitives so that you don't have to do thinks like do a function call setup unless you didn't like any of the available options.
[1] Some of the limitations I was thinking of are things like the stack-based method of doing function calls and the inability to catch overflow, but I'm sure there are even more.
Thanks, Jason
Live Earth is coming. Learn more about the hottest summer event - only on MSN. Check it out!
On 22/06/07, Bergel, Alexandre bergel@iam.unibe.ch wrote:
Hi!
another great limitation of C, like in other strictly typed languages, is inability to construct a calls to a dynamically prototyped function at runtime and lack of of type info. Even templates in C++ doesn't solve this problem - you still need to know all the types of function parameters at compile time, and there's no ways to construct and call them at runtime.
Would you mind to elaborate on this? Do you mean having a kind of perform: in a statically typed language ?
Yes, a kind of #perform: . See, how FFI implemented , see how bindings implemented in C++ boost library.. this is overkill for such simple task.
squeak-dev@lists.squeakfoundation.org