delight-general Mailing List for Delight
Status: Alpha
Brought to you by:
tal197
You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
|
From: Peter Massey-P. <pla...@gm...> - 2013-12-30 01:54:16
|
On 12/30/2013 03:09 AM, Thomas Leonard wrote: > On 29 December 2013 16:24, Peter Massey-Plantinga > <pla...@gm...> wrote: >> I'm possibly interested in taking over or restarting activity on this >> programming language. I love Python's syntax and D's features. I'll probably >> make a github fork. It looks like the project hasn't been updated for a >> while, so I'll probably start over. I just wanted to make sure that there >> were no objections to me using the "Delight" name for a completely new >> language based on the same principles. > Sure, no problem. Starting over is probably a good plan. There were 3 > main features of Delight: > > - Python-like syntax > - Safer (but still not perfect) handling of nulls > - Object-capabilities security model (though I didn't know this at the time) > > Are you planning on keeping all of them, or just the syntax? > > I had only been planning on keeping the syntax, but I'll do some research on how the latest version of D handles nulls and the Object-capabilities security model. Of course if anyone wants to help, Github makes it easy to collaborate. Send me a pull request or ask to be a collaborator. My username is pplantinga, so the project can be found at http://github.com/pplantinga/delight |
|
From: Thomas L. <ta...@gm...> - 2013-12-29 19:09:29
|
On 29 December 2013 16:24, Peter Massey-Plantinga <pla...@gm...> wrote: > I'm possibly interested in taking over or restarting activity on this > programming language. I love Python's syntax and D's features. I'll probably > make a github fork. It looks like the project hasn't been updated for a > while, so I'll probably start over. I just wanted to make sure that there > were no objections to me using the "Delight" name for a completely new > language based on the same principles. Sure, no problem. Starting over is probably a good plan. There were 3 main features of Delight: - Python-like syntax - Safer (but still not perfect) handling of nulls - Object-capabilities security model (though I didn't know this at the time) Are you planning on keeping all of them, or just the syntax? -- Dr Thomas Leonard http://0install.net/ GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA |
|
From: Peter Massey-P. <pla...@gm...> - 2013-12-29 16:24:31
|
I'm possibly interested in taking over or restarting activity on this programming language. I love Python's syntax and D's features. I'll probably make a github fork. It looks like the project hasn't been updated for a while, so I'll probably start over. I just wanted to make sure that there were no objections to me using the "Delight" name for a completely new language based on the same principles. |
|
From: Thomas L. <ta...@gm...> - 2011-07-16 15:42:25
|
On 10 July 2011 04:15, srean <sre...@gm...> wrote: > Hi Thomas, > > now that LDC supports D2, will delight come alive again. I hope so. Thanks good to know. Unfortunately, I don't have any time at the moment :-( -- Dr Thomas Leonard http://0install.net/ GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA |
|
From: srean <sre...@gm...> - 2011-07-10 03:15:54
|
Hi Thomas, now that LDC supports D2, will delight come alive again. I hope so. srean |
|
From: Thomas L. <ta...@gm...> - 2009-11-08 16:15:39
|
2009/11/8 Dmitry <roh...@gm...>: > Does is project dead? Stalled, until gdc comes back to life, or LDC supports D2: http://dsource.org/projects/ldc/ticket/229 In the meantime, I suggest anyone interested in Delight's security model should check out E: http://erights.org/ Don't be put off by the web-site; this is a seriously impressive language! We should try to get some of these ideas into Delight one day (but I have no time currently). -- Dr Thomas Leonard ROX desktop / Zero Install GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
|
From: Thomas L. <ta...@gm...> - 2008-10-26 15:26:24
|
Delight 0.3 is now out: http://delight.sourceforge.net/ The main changes are that it now uses dynamic libraries and supports GObject linkage (mainly for GTK): http://delight.sourceforge.net/gtk.html Changes to the compiler: Assignments in if statements only worked for class/pointer types It tried to turn everything into a maybe type, even ints, etc. Scan dynamic libraries for GC roots Code was disabled, and didn't compile. Also, it didn't work on 64-bit. Don't require a ; after a continue statement Add GObject linkage type Works like C, except that we don't mangle interface methods either. e.g. For example, this: extern(GObject): interface GtkWidget: void show() GObject obj obj.show() becomes gtk_widget_show(obj) Name is lower-cased, and an _ inserted before each upper case letter that follows a lower case one. Might need to way to state the stem explicitly for some types. Added linkage to ClassDeclaration Don't allow implicit cast to Object unless the source interface has D linkage. Static, renamed, and selective imports were public Applied patch from D Issue 314. Fixed some parsing errors for enums Note: "enum Foo extends string: ..." now parses, but the compiler crashes later. Fixed line number in error about global variables Be stricter about function return types If a function is declared as returning "void", don't allow return with an expression. Main.main must have a return type of void. Modular handling of externals Instead of having the main module import the single dlt._externals file, it now imports files based on the type. For example, if you do: import dlt.io: Printer class Main: in Printer stdout Then it calls '_externals.dlt.io.stdout()' to get the object. This avoids creating dependencies on modules and symbols we don't need, and makes it easier to extend the library with new externals. A related change is that SystemExit is now part of object.d and handled by the normal D main invoker. This was being handled by a method on the old Externals object. Allow maybe annotations even for D code Makes it easier to adapt D interfaces for Delight. Only include core functions in libgphobo2.so. Only etc, gcc, internal are now included in the build, not std. This is because the .so file is needed at runtime, so you need to be able to get it without downloading the whole compiler. Therefore, it should come with the (much smaller) Delight standard library. So the plan is: - libgphobo2.so contains only things that must be built with the compiler. - libdlt contains the rest. - libdlt is bundled with a copy of libgphobo2.so. There are therefore two copies of libgphobo2.so, which is why it needs to be as small as possible. Build libphobos.so shared library, not static libphobos.a See Gregor Richards' post: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=43627 Also: http://www.dsource.org/projects/tango/ticket/875 "cast(Foo) foo" gets a maybe type only if Foo is a class For pointers, no check is made whether the type is correct, so the result never becomes null. Static imports by default import dlt.io # static import import dlt.io: Printer # symbol import import dlt.io: * # D-style import all Suggested by Leonardo and others. Don't require a ";" after a mixin "catch (Exception ex):" becomes "catch Exception ex:" Fixed printing of log statements (in error messages, etc) Changes to the library: Added GTK support GTK code goes in libdltgtk.so to avoid unnecessary dependencies if you don't want it. The main dlt.gtk interface is generated using the scripts in the gen directory (but not automatically, since it requires pygtk). Example: import dlt.gtk: * class Main: in Gtk gtk void main(string[] args): args = gtk.init_check(args) auto w = gtk.gtkWindow() w.set_title("Hello from Delight!") w.show() gtk.main() Implemented fs.resolveRelativePath and fs.parent Added stdin external Removed string functions from core. D gets confused when a module with unit-tests is compiled with them off but imported into code with them on. dlt.core should not need module info. Also brought back the math functions, and added some imports required by the new stricter private imports. Split out filesystem bits of dlt.io to dlt.fs Split _externals into modules in their own package Build libdlt as a shared library and bundle a copy of libgphobos2.so This is so that binaries don't need to depend on the compiler package. To reduce duplication (since the compiler and the library both contain libgphobos2.so now), most of the code has been moved from libgphobos2 into libdlt.so. format() now returns a string, not a char[] Implemented reuse server socket parameter -- Dr Thomas Leonard ROX desktop / Zero Install GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
|
From: Thomas L. <ta...@gm...> - 2008-10-07 19:14:23
|
OK, Delight 0.2 is now out with loads of changes! http://delight.sourceforge.net/install.html The really big change is that it's now based on D2 (the in-development version of D) rather than the old D1. In particular, this means: - New const/invariant system. See http://delight.sourceforge.net/types.html - Strings are no longer of type char[], but invariant(char)[]. i.e. strings never change (same as Python or Java). - Closures work. If you define a nested function, it can still access its parent's variables after the parent has returned. - Tango doesn't support D2 (not even its D2 branch), so I converted everything over to use Phobos. I couldn't live without the Layout class, though, so I cut-and-pasted that in to the Delight standard library. Might move back to Tango once it works. Main other changes: - "cast(Foo) x" now has the maybe type "Foo?". This is because it returns null if x isn't a Foo. - Assign-within-if (from D) works, and has been extended to provide a safe way of removing the maybe qualifier: Details? lookup(string name): ... if Details details = lookup("fred"): details.doSomething() else: # "fred" not known - inner classes and static inner classes now work. - "x in dict" now has a maybe type (it's null if x isn't in the dictionary) - anonymous functions work ("function(int x): x + 1"). This is like lambda in Python. - better support for parsing D code (mainly for importing, but it will also now compile .d files if you ask it to) - any object can be implicitly cast to Object (D doesn't allow this) - treat empty arrays as "false", non-empty as "true". This is like Python, but unlike D. - null can't used used as an alternative for an empty array, [] - standard library supports simple networking: http://delight.sourceforge.net/library.html More docs on the web-page (and most existing ones updates): - http://delight.sourceforge.net/logging.html - http://delight.sourceforge.net/types.html -- Dr Thomas Leonard ROX desktop / Zero Install GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |