dotmars: .Net-like 的 D 类库
|
oldrev
2007-04-25
鉴于 phobos 和 tango 都让我很不爽,因此我准备按照 .Net Framework 的结构写一个中立于 phobos 和 tango 的类库 dotmars. 目前已经完成了如下部分(仅 windows 部分),可以通过编译,我还没时间测试。
D:\work\dotmars\trunk\src\dotmars\math.d D:\work\dotmars\trunk\src\dotmars\random.d D:\work\dotmars\trunk\src\dotmars\signals.d D:\work\dotmars\trunk\src\dotmars\singleton.d D:\work\dotmars\trunk\src\dotmars\variant.d D:\work\dotmars\trunk\src\dotmars\io\bufferedstream.d D:\work\dotmars\trunk\src\dotmars\io\filestream.d D:\work\dotmars\trunk\src\dotmars\io\ioexcept.d D:\work\dotmars\trunk\src\dotmars\io\stream.d D:\work\dotmars\trunk\src\dotmars\meta\traits.d D:\work\dotmars\trunk\src\dotmars\meta\tuple.d D:\work\dotmars\trunk\src\dotmars\runtime\dll.d D:\work\dotmars\trunk\src\dotmars\runtime\osapi\all.d D:\work\dotmars\trunk\src\dotmars\runtime\osapi\windows\core.d D:\work\dotmars\trunk\src\dotmars\runtime\osapi\windows\macros.d D:\work\dotmars\trunk\src\dotmars\runtime\osapi\windows\types.d D:\work\dotmars\trunk\src\dotmars\runtime\stdclib\math.d D:\work\dotmars\trunk\src\dotmars\runtime\stdclib\string.d D:\work\dotmars\trunk\src\dotmars\text\utf.d 项目在 http://code.google.com/p/dotmars 此类库主要参照的是 Mono,欢迎各位参与! |
|
|
tuja
2007-04-25
oldrev:
说干就干,一个字:强! 可惜本人刚起步学习D,不能作什么贡献 如果这个项目你能坚持下去,我一定会参加的。 另外一个项目不妨考虑一下,就是用lua对SciTe的扩展,实现最强的文本编辑器 |
|
|
tuja
2007-04-25
有人用LUA实现的SciTE的扩展功能:
Several LUA scripts to enhance SciTE editing. 1 Insert a copy of the Bookmarked line(s) - Ctrl+Alt+B This functions will insert all Bookmarked lines at the beginning for the current line. Lines can be Bookmarked by pressing Ctrl+F2. 2 Jump to the "Func ???" definition of the functionname under the Cursor - Ctrl+J It will also Bookmark the original line to enable you to jump back to the original line with F2. 3 List dropdownbox Ctrl+L with all available Func's in the current script and jumps to selected script. It will also Bookmark the original line to enable you to jump back to the original line with F2. 4 Alt+I - Open #include "" file. 5 Ctrl+Shift+D - Add Debug msgbox This function will add a MSGBOX below the current line that contains the Var the cursor is at $a = $b + 1 (Put the cursor on $b and press Ctrl+Shift+D the following line will be added) MsgBox(4096,'debug:' & $b,$b) ;### Debug MSGBOX 6 Alt+D - Add Debug ConsoleWrite message This function will add a ConsoleWrite line below the current line that contains the Var the cursor is at $a = $b + 1 (Put the cursor on $b and press Alt+D the following line will be added) ConsoleWrite('Line:~4 debug ==> $b: ' & $b & @lf) ;### Debug Console 7 Alt+Shift+D - Comment ALL DEBUG MsgBox and ConsoleWrite lines. 8 Ctrl+Alt+D - UnComment ALL Debug MsgBoxes and ConsoleWrite lines. 9 Add TRACE ConsoleWrites to all lines to easily trace your program:Available under Tools/Debug: Add Trace lines 10 Remove ALL Debug MsgBoxes and ConsoleWrite lines: Available under Tools/Debug: Remove ALL lines 花费的精力比做一个IDE少100倍以上,但实现的功能作为文本编辑器来说基本上是最强的了,当然上面的功能有些在D里用不上,只是作为一个思路参考。 说实在的,oldrev,qiezi,还有其他几位高手多几个,可能对推动D语言发展起到重要作用。影响不仅是国内的。 |
|
|
oldrev
2007-04-25
没怎么用过 SciTE,我一直用 VIM. Lua 也不大会
|
|
|
DavidL
2007-04-25
我并不很赞同起一个类库的做法。
phobos tango dotmars应该都属于基础类库,基础类库应该只有一个 |
|
|
oldrev
2007-04-25
我也不想自己搞基础类库啊,可是教主对tango不表态我们也没办法
最好的解决方案是教主把设计和开发标准库的权利下放给社区 |
|
|
oldrev
2007-04-25
我实现了 System.IO.Stream class
因此现在可以开始把C#版本的 LZMA 算法移植到 D 了! |
|
|
tuja
2007-04-25
oldrev,把你的项目开到dsource,这样或许有国外高手来加入。
还有你的建议也可以向教主反馈。D本身非常优秀,类库开发确实比较滞后。 |
|
|
oldrev
2007-04-25
没用, 像教主这样的高人是一条道走到黑的主儿,要不怎么叫牛人呢
|
|
|
tuja
2007-04-25
这倒也是,教主不但牛,还是个完美主义者,从D的不断点滴改进可以看出。
|

