144 reputation
9
bio website Google.Di
location Denmark
age 39
visits member for 3 years, 3 months
seen Sep 13 at 19:50

42 is a pretty number and V is for van


Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
@delnan yes, and in Smalltalk there are no void methods, they return 'this' instead. I've searched my soul and prefer void. I have to read up on F# options though before making any decitions in stone.
Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
@JimG Yes, it's very easy using the Reflection.Emit API in C# combined with using ANTLR for lexing and parsing most of the work is done for me..
Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
I am not sure what to think. First time I saw the construct I hated it. In the simple context of this 1-line program it looks like a sweet pearl :-) do you have a website where your language design opinions are posted?
Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
How about int c; while( (c=readChar()) != -1) { ... }
Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
Very well put! Why is assignment a bad idea? eg. using(var conn = new DBConnection(..)) a bad idea?
Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
I don't want to look at LISP anymore :-) I want static typing a light weight syntax. I want to rid excessive () and ;
Aug
12
comment What useful expressiveness will be impossible in a language where an expression is not a statement?
What's wrong with a hobby project?? It already generates MSIL code for a hello world.. so I'm well on my way :-)
Aug
1
comment Return magic value, throw exception or return false on failure?
I would use exceptions in the non-recoverable situations. E.g. accessing an array out of range, or parsing an word as a number. In situations where you may expect problems, you can provide Try* methods such as "TryParse" or "TryGetValue", where you return false in case of problems (almost anticipated), and fetch the value in some out parameter. The first examples using the -1 value, I think is remniscent of the C days.
May
25
comment When using method chaining, do I reuse the object or create one?
@nimchim you "fluent" methods makes your objects equally mutable. The only solution is to have a separate builder class.