我的本科最后一年的项目即将到来,我对词法分析器、解析器、编译器等非常感兴趣,并希望在我的本科最后一年项目中使用DLR4.0动态语言运行时(.NET 4.0 dynamic language runtime),但我正在努力寻找使用它的理由!
领域特定的语言可能是一个想法,但我能想到的所有领域都已经完成了。
另一种方法是尝试移植一种现有的语言(或者至少是其中的一部分,如果时间允许),但是再说一次……我想不出一种合适的语言来移植。(不是APL或Perl --我不是受虐狂。)
有没有人知道我可以在最后一年的项目中使用DLR做什么?一个特定的领域或其他想法?
这个问题也将有助于那些希望尝试DLR,但希望以更实际的方式使用它的人,而不仅仅是在玩具项目中。
谢谢!
发布于 2011-09-07 08:08:31
Javascript怎么样?(ECMAScript)它是一种相对较小的语言,因此它可能是可接近的,这取决于您的技能水平和您必须沉浸在其中的时间。IronJS确实存在,但您可以对事物采取不同的看法。也许是Javascript的“仅限好的部分”版本?或者一个本地的coffeescript解释器可能会很有趣。
有许多有趣的小语言可以重新实现。http://iolanguage.com/就是一个很好的例子。
当然,编写自己的lisp总是很有趣的。
发布于 2011-09-07 08:30:28
我所知道的最简单的语言之一是Forth。您可以使用DLR来实现这一点。
发布于 2011-09-07 08:41:47
创建一种定义事件和活动的语言怎么样?在我的家庭自动化系统中,我有这样的C#代码:
Kitchen.KitchenFloor.Or(Kitchen.MotionSensor, Kitchen.BackDoorToGarage,
Kitchen.BreakfastBarFloor,
Kitchen.Phone)
.Provided(Time.AlmostDark)
.Do("Activity near dark"", sender => { ... });这是一种流畅的语言,用于定义在C#中实现的事件、条件和活动。它有点像反应式框架,但早于反应式框架,还可以将其当前状态持久化到数据库中,然后检索(必需的,因为一些间隔可以是小时、天甚至几个月!)。
一种特定于领域的语言,您可以在其中定义传感器,然后将其与事件流、条件和活动联系起来,这可能是一个有趣的项目。添加一个Netduino和一些LED和开关,使它变得更加有趣。
https://stackoverflow.com/questions/7327427
复制相似问题