On 2012-11-29 13:33, Thomas Koch wrote:
Jacob Carlborg wrote:
I just released a new version of DVM, 0.4.1. This is mostly a bug fix
On planet-scala they have the habit of adding a one-liner description of
what the software is about. This helps newcomers to get into the loop.
Right, sorry
On 2012-11-30 01:07, Rob T wrote:
I'm using Debian Wheezy 64 bit, in a nut shell, do you know if it can be
made to work in this environment?
As 1100110 said, if you install ia32-libs it will work. I compiled it on
Debian 6 64bit.
--
/Jacob Carlborg
On 2012-11-30 08:31, Jacob Carlborg wrote:
As 1100110 said, if you install ia32-libs it will work. I compiled it on
Debian 6 64bit.
That is, you can download the 32bit version of DVM.
--
/Jacob Carlborg
work for most other distributions.
DVM also officially has a new home, at github:
https://github.com/jacob-carlborg/dvm
Changelog:
Version 0.4.1
New/Changed Features
* Issue 2: Fetch zips from github for DMD 2.057+
Bugs Fixed
* Issue 5: Missing executable permission on some files
();
would expand to:
private int bar_;
@property void bar(int value) {
bar_ = value;
}
@property int bar() {
return bar_;
}
Yeah, that's what I wrote.
--
/Jacob Carlborg
.
If I click here it links to http://mono-d.alexanderbothe.com/?p=591,
which basically is the main page.
BTW, on Mac OS X the Add-in Manager is located on the MonoDevelop menu.
--
/Jacob Carlborg
to this, how about final variables, or something similar.
final Foo foo = new Foo;
It's not possible to reassign a final variable but you can call any
method on it, not just const/immutable methods.
--
/Jacob Carlborg
{
private Object x_;
private Object y_;
this (Object x, Object y)
{
this.x = x;
this.y = y;
}
Object x () { return x_; }
Object y () { return y_; }
}
--
/Jacob Carlborg
const in C than in C++. I just came to
think of this since you mentioned lazy const.
But then I will think about it. Schould not be much work.
Thanks.
--
/Jacob Carlborg
;
}
Lowered to:
class
{
private int bar_;
@property int bar () { return bar_; }
@property int bar (int value) { return bar_ = value; }
}
It would also be nice if you could manually implement any of the getter
or setter and none would be generated in that case.
--
/Jacob Carlborg
On 2012-11-21 21:48, Namespace wrote:
Hm, I like the Idea.
But I would prefer:
private:
int _bar in(int val) {
_bar = val;
} out {
return _bar;
}
The point was to make the syntax short. I wouldn't consider this much of
an improvement.
--
/Jacob Carlborg
38-42, especially slide 42: No headers!.
So if you start a new project with Clang and don't need backwards
compatibility or compatibility with any other compiler/library you don't
need headers.
--
/Jacob Carlborg
the headers in the module map
2b. Write the module file
3. Load the module file at the ‘import’ declaration
4. Cache module file for later re-use
I think this is only to be compatible with pre-existing headers.
--
/Jacob Carlborg
the
compilation process. I don't know how this compares to precompiled headers.
--
/Jacob Carlborg
. This conversion has clearly gone into circles.
--
/Jacob Carlborg
context. With a plain string (or any built in
type) it can come from any where and mean anything.
The difference is, with a user defined type you know the meaning of the
attribute, with a built in type you do not, not in the same way at least.
--
/Jacob Carlborg
On 2012-11-14 23:39, Andrei Alexandrescu wrote:
I think a simple way to put this is that attribute name lookup works the
same as ordinary symbol lookup. Assuming we did a good job at the
latter, the former doesn't introduce any specific issues.
Exactly.
--
/Jacob Carlborg
things in programming as well.
--
/Jacob Carlborg
similar.
--
/Jacob Carlborg
mean, it will be
unique.
--
/Jacob Carlborg
On 2012-11-10 05:02, Walter Bright wrote:
Meaning a given attribute can have only one, global, meaning.
Isn't that true for any symbol. Can I have two std.stdio.writeln symbols
in the same application?
--
/Jacob Carlborg
to use
a type which will have a unique name.
If I have misunderstood what you're meaning could you provide a code
example?
--
/Jacob Carlborg
://docs.oracle.com/javase/1.5.0/docs/guide/apt/GettingStarted.html
--
/Jacob Carlborg
to this discussion):
I just see no point in allowing random structs and classes acting like
attributes.
Suddenly someone starts to use your struct as an attribute without you
having any intention of it acting like an attribute and you don't know
about it.
--
/Jacob Carlborg
On 2012-11-08 20:39, Walter Bright wrote:
I believe that does have the essential effect of making the attribute
global.
I don't understand how.
--
/Jacob Carlborg
qualified name. Can I have my own
symbol named std.algorithm.filter and use it together with the
std.algorithm.filter function in Phobos?
--
/Jacob Carlborg
.
--
/Jacob Carlborg
/annotations.html
--
/Jacob Carlborg
On 2012-11-07 21:41, Walter Bright wrote:
Just functions? I thought one big use of UDAs was to mark classes as
serializable.
Exactly, the more we can annotated the better :)
--
/Jacob Carlborg
:
attribute foo {
string name;
}
--
/Jacob Carlborg
On 2012-11-08 02:49, Walter Bright wrote:
Yes, that makes the attribute global.
I don't actually know how this works in Java but if you are forced to
use the fully qualified name for the attribute it won't make the
attribute global.
--
/Jacob Carlborg
incomplete to me. I know one of those
proposals enabled something we can't really do now, whereas what I
described here of course *can* be done now.
Seems like a poor man's replacement for macro annotations:
http://scalamacros.org/future.html
--
/Jacob Carlborg
a; or @mtype(key : value) int a;
@mtype(value) int b;
@mtype int c;
--
/Jacob Carlborg
() {}
Then one either have to use a string literal or something like a dummy
variable/type.
[test] void foo () {}
enum test = test;
[test] void foo () {}
Or
struct test {}
[test()] void foo () {}
--
/Jacob Carlborg
for making attributes!!! :-)
I like this proposal as well.
--
/Jacob Carlborg
.
--
/Jacob Carlborg
On 2012-11-06 16:39, Walter Bright wrote:
On 11/6/2012 5:04 AM, Jacob Carlborg wrote:
I agree, I a syntax like this would have been nicer:
@mtype(key : value) int a; or @mtype(key : value) int a;
@mtype(value) int b;
@mtype int c;
Part of what I was trying to do was minimizing inventing new
to be crafted explaining how it is
different from normal names.
No, I don't think so, see one of my other replies:
http://forum.dlang.org/thread/k7afq6$2832$1...@digitalmars.com?page=6#post-k7bbsu:2411ls:241:40digitalmars.com
--
/Jacob Carlborg
, of course, be sliced and concatenated.
In other words, by using tuples, you can encapsulate what the
attributes expand to in the same way you can change target code by
changing the definition of user defined types.
Then allow something like this:
@(tp)
Or
@foo(tp)
--
/Jacob Carlborg
, very good point. I don't see why this hasn't been done before, it's
dead easy. Just use:
$ git checkout -b uda
# code
$ git commit -a -m Add support for user defined attributes
$ git push origin uda
Walter, why aren't you using branches for these kind of things?
--
/Jacob Carlborg
this:
@every_body_writes_their_names_like_this int a;
And
[every_body_writes_their_names_like_this] int a;
None.
--
/Jacob Carlborg
On 2012-11-06 19:49, Walter Bright wrote:
Because I still think in a linear fashion :-)
Ok, please, please try to start to use more of the features of git.
--
/Jacob Carlborg
, and avoid confusion with array
literals.
Exactly, good point.
--
/Jacob Carlborg
serializable { }
attribute class name
{
string fieldName;
}
@serializable class FooBar
{
@name(foo) int bar;
}
serializable and name would be symbols you can import have the same
name look up rules any other symbol.
--
/Jacob Carlborg
?
--
/Jacob Carlborg
Java does the same.
Yes it does:
http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html
You need to specify the target tough, like declaration of an annotation:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Test { }
--
/Jacob Carlborg
On 2012-11-06 20:44, David Nadlinger wrote:
Yes, you're right, the issues are not related. I just wanted to share
the idea, and your dm.D thread didn't exist back then.
David
Oh, didn't notice until now. I've already added my vote.
--
/Jacob Carlborg
is preferred by this list / what not? What should be included in
any case in Remus / what not?
I would say yes to everything except namespaces. I would also like the
elvis operator in combination with the assignment operator, i.e.
Foo a;
a ?:= new Foo; // only assign if a is null
--
/Jacob Carlborg
On 2012-11-04 11:44, Johannes Pfau wrote:
Supported OS: linux, windows, bare-metal
No support for Mac OS X? The compilers on Mac OS X are cross-compilers
out of the box.
--
/Jacob Carlborg
32 and 64bit or
compiling for ARM.
--
/Jacob Carlborg
an entire set of apps that statically link the
lib.
What's need to be taken care of in general:
* Module infos
* Exception handling tables
* TLS
--
/Jacob Carlborg
On 2012-11-02 08:19, Jacob Carlborg wrote:
What's need to be taken care of in general:
* Module infos
* Exception handling tables
* TLS
A slightly better answer of what one can expect of not working:
* Exceptions (at least crossing application/library boundaries)
* Module (de)constructors
2, but so what? A *Pentium
1* can run Quake 2).
It's JavaScript, don't use it, what more do one need to know :)
--
/Jacob Carlborg
On 2012-11-02 09:45, Lubos Pintes wrote:
It could be something like .NET assembly, i.e. everything needed is in
I'm not sure I understand. Would you build a dynamic library with all
the functionality and a thin wrapper just to make it an executable?
--
/Jacob Carlborg
, no problems :)
--
/Jacob Carlborg
to allow true dynamic linking (i.e. dlopen).
--
/Jacob Carlborg
eschews
SQL in favor of a native API. I might have to play with that eventually,
but I'll probably give it a while because it would be a huge project,
and, like most people, I'm under time constraints. :)
Yeah, I know.
--
/Jacob Carlborg
print() { writeln(foo);}
}
}
io.print();
Plus struct's come with additional abilities that can turn a simple
namespace into a much more capable one, for example by adding in ctors
and dtors.
Or using a template.
--
/Jacob Carlborg
, process it correctly and
generate SQL from it, the function still need to compile.
--
/Jacob Carlborg
, called Squeel, that allows you to do something like this:
Person.where do |q|
(q.name == asd)
(q.address == foo)
end
But because of the operator precedence in Ruby you need to wrap every
comparison in parentheses, not very pretty.
--
/Jacob Carlborg
.
--
/Jacob Carlborg
recall correctly. Have a look at some ORM library
written in Scala, I would guess they can be quite innovative and it's
statically typed.
http://squeryl.org/index.html
http://datamapper.org/
--
/Jacob Carlborg
()
{
auto p = new Person;
p.name = John Doe;
p.save();
p = Person.where!(x = x.name == John Doe);
}
--
/Jacob Carlborg
. What we need is AST
macros and user defined attributes/annotations. With that, associations
could potentially look like this:
class Foo : Model {}
class Person : Model
{
@hasMany Foo;
}
--
/Jacob Carlborg
working OMF backend. Let the user choose.
--
/Jacob Carlborg
intrepid, give it a whirl. Expect problems.
Yes, you have to have Visual Studio installed. Yes, it generates
MS-Coff, and requires MS-Link to link.
This is really good news, you're making good progress, keep it up.
--
/Jacob Carlborg
translate the macros manually ?
--
/Jacob Carlborg
On 2012-10-10 23:14, Andrei Alexandrescu wrote:
I'll take it with our provider. What's the error message, OS, client
program etc?
I've seen several messages from the future in the web front end:
https://dl.dropbox.com/u/18386187/from_the_future.png
--
/Jacob Carlborg
/
Very nice, I will definitely have use for this in the future.
--
/Jacob Carlborg
();
Will only assign to obj if it's null.
--
/Jacob Carlborg
On 2012-10-10 08:38, Nick Sabalausky wrote:
Some stuff I thought needed to be said and shared:
http://semitwist.com/articles/article/view/dispelling-common-d-myths
Nice, read. You might want to mention that the DMD front end is licensed
under GPL as well.
--
/Jacob Carlborg
, cryptographic and log
related modules.
--
/Jacob Carlborg
server for local docs serving
- Easily embeddable into existing vibe.d based sites
- Can generate offline documentation as HTML files
- Function for filtering the DMD .json file by module prefixes,
protection level and doc comment
This looks awesome.
--
/Jacob Carlborg
:
- Not null references
- Stack instances (also known as scope instances)
- Namespaces
- Safe Null invocation
This looks cool, especially not null references and stack instances. But
as bearophile said, it would be nice with some explanation of the features.
--
/Jacob Carlborg
to a string, wrap it in an exception class and pass to D.
--
/Jacob Carlborg
not be comparable.
raise foo
Is the same as:
raise RuntimeError.new(foo)
--
/Jacob Carlborg
a constructor that just forwards to the base class. Just useless
boilerplate code.
--
/Jacob Carlborg
variables, it's trivial to create a mixin for doing that,
though you don't get any ddoc if you do that.
It's not that many in a single project but I have projects and I prefer
to have at least one exception base class in each.
Yeah, mixins and ddoc does not go hand in hand.
--
/Jacob Carlborg
/stupid-coder-tricks-debugging-exception-handlers
That's interesting. But that's also just like creating a function
error which throws an exception. Which I end up doing sometimes.
--
/Jacob Carlborg
On 2012-09-29 23:26, David Nadlinger wrote:
Only the x64 variant of SEH is zero-cost. On x86, exception handlers
must be installed into a linked list in the function prologue, which
takes a few pushes/movs and popped off again in the epilogue.
David
Ok, I see.
--
/Jacob Carlborg
the most optimal code. But the compiler might not be that
good.
--
/Jacob Carlborg
On 2012-09-29 03:01, Walter Bright wrote:
True, but I would never write code that tried to throw an exception
across language boundaries, anyway. It's just asking for trouble.
If everything is working correctly and is compatible it shouldn't be any
problems.
--
/Jacob Carlborg
on Windows are zero-cost exception handling systems. This means
that there will be no performance loss at runtime as long as no
exception is thrown. setjmp/longjmp on the other do have performance
impacts at runtime.
--
/Jacob Carlborg
On 2012-09-27 21:51, Walter Bright wrote:
Well, I did. The EH mechanism in dmd Win64 is the same as that used for
dmd Linux, OSX and FreeBSD, 32 and 64.
What does that practically mean from the users point of view?
--
/Jacob Carlborg
On 2012-09-28 00:59, David wrote:
I made glfw3 bindings (translated the C headers to D):
https://github.com/Dav1dde/glfw3
Can someone make a deimos repo?
Not that I can create a repository but a description and a link to the C
library is needed.
--
/Jacob Carlborg
/en-us/library/1eyas8tf.aspx
Not SEH?
--
/Jacob Carlborg
great news :)
--
/Jacob Carlborg
On 2012-09-10 23:11, Walter Bright wrote:
What I have is VS 2010 Professional.
Oh, you see, guess I was wrong.
--
/Jacob Carlborg
guess on that one.
--
/Jacob Carlborg
On 2012-09-09 22:56, nazriel wrote:
Also big kudos for you Mike, for maintaining this project, that is the
only one, fully working solution for GUI applications with D
What about DWT?
--
/Jacob Carlborg
On 2012-09-09 02:35, Walter Bright wrote:
D1 now compiles Phobos1 completely, and gets all the way to main()
without crashing, and shuts down without crashing.
(Why D1 first? Because it's much simpler to port than D2's
druntime/phobos.)
Wow, that's amazing :)
--
/Jacob Carlborg
On 2012-09-07 01:53, Sean Kelly wrote:
What version flags are set by GDC vs. DMD in your target apps? The way stop the
world is done on Linux vs. Windows is different, for example.
He's using only Windows as far as I understand, GDC MinGW.
--
/Jacob Carlborg
understand this correctly this would be perfect for D since
everything is thread local by default.
There's also a global heap for global objects or objects shared between
threads.
--
/Jacob Carlborg
) { } // is not allowed, but A!int is -- why?
Furthermore I fixed the parameter completion on this() and super()
expressions, what implies a great usability bonus imho. Not to forget
all the classic null-check issues and smaller bugs.
That sounds great. I think it's time I give Mono-D a try.
--
/Jacob
people who
attended.
Will there be a video posted?
--
/Jacob Carlborg
on each thread's heap, and unreferenced
objects be moved to a global list of potentially dead objects. If after
all threads have run a mark, none have claimed the objects, they're
collected.
Then again, I'm hardly a GC architect.
Me neither.
--
/Jacob Carlborg
release or do I have
get the latest sources from github?
--
/Jacob Carlborg
On 2012-08-15 21:48, Walter Bright wrote:
Ok, so if my structs don't contain any floating point types I will be
fine?
Yes.
All other types are ok?
Yes.
Is this in the 2.060 release
Yes.
or do I have get the latest sources from github?
No.
Thank you.
--
/Jacob Carlborg
is when
interfacing with C libraries. I'm thinking of the bug where DMD doesn't
pass structs correctly on 64bit. What's the status of that BTW?
--
/Jacob Carlborg
% of my currently running processes are 32bit. Mac OS X
10.7 Lion.
--
/Jacob Carlborg
1001 - 1100 of 1439 matches
Mail list logo