Inventors list |
Assignees list |
Classification tree browser |
Top 100 Inventors |
Top 100 Assignees |
Hoban
Lucas Hoban, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20090183142 | DEBUGGING LAZILY EVALUATED PROGRAM COMPONENTS - A system and method for facilitating debugging a computer program is provided. Mechanisms of the present invention facilitate presenting information and enable a developer to interact with a lazily evaluated program component. A debugging system may display data associated with a lazily evaluated program component, and may enable the programmer to control evaluation and viewing of elements of the lazily evaluated program component. In response to a user command, a debugging system may evaluate elements of the program component and display associated data. A user interface enables a user to view, interact with, and debug lazily evaluated program components as well as a program containing such components. | 07-16-2009 |
Lucas J. Hoban, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20110276950 | NAME BINDING EXTENSIBILITY FOR TYPED PROGRAMMING LANGUAGE - Architecture that provides a way to plug into a compiler (e.g., F#) and the associated language service. The language components define a standard plug-in mechanism that allows any component to plug into the services and, provide name binding and type resolution services. The compiler and language service utilize the protocol defined (e.g., in the shape of interfaces and classes that must be implemented in order to plug-in to the system) to provide compile time and design time extensions. The architecture provides the ability to define a customized protocol to interact with the compiler's name binding mechanism. The use of this protocol allows not only compilation to succeed, but to also provide rich IDE services, such as name lookup, and value lookup for quick information. Additionally, the capability to provide static type information to satisfy the requirements of a typed programming language is supported. | 11-10-2011 |
Lucas James Hoban, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20090319497 | AUTOMATED TRANSLATION OF SERVICE INVOCATIONS FOR BATCH PROCESSING - The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations. | 12-24-2009 |
| 20110258593 | STATIC TYPE CHECKING AGAINST EXTERNAL DATA SOURCES - Static type checking is performed against external data sources in an interacting editing environment. A rich editing experience can be provided to users for external data equivalent to that provided for internal static, typed data. An extensible compiler is provided so that a user or third party can extend type checking facilities to any external data source. An extensible language service is provided so that a user or third party can extend the language service to provide a consistent, current static view of external data. The extensible compiler and language service allow language extensions to plug into the type checking process. This enables the compiler and language service to provide an extension point that allows extensions of the compiler and allow the language service to render dynamic information statically. | 10-20-2011 |
| 20110276983 | AUTOMATIC RETURN TO SYNCHRONIZATION CONTEXT FOR ASYNCHRONOUS COMPUTATIONS - Architecture that includes an asynchronous library which remembers the synchronization context that initiated an asynchronous method call and when the request is completed, the library restores the synchronization context of the calling thread before executing a callback. This ensures that the callback executes on the same thread as the original asynchronous request. The callback to the asynchronous operation that asynchronous library provides automatically “jumps threads” to maintain thread affinity. | 11-10-2011 |
Luke Hoban, Seattle, WA US
| Patent application number | Description | Published |
|---|---|---|
| 20110258594 | ASYNCHRONOUS WORKFLOWS - A system and method for implementing an asynchronous construct in a computer program. A state machine is generated from the computer program, and the program is translated to generate code that executes the state machine during runtime. The asynchronous construct may be made into a function that invokes an asynchronous function, passing the function as a callback, and then exits. When the asynchronous operation completes, the function is invoked as a callback, returning to a configuration equivalent to that prior to the asynchronous call. Variable closure may be used to maintain the state of variables during a state prior to invoking the asynchronous operation and a state after invoking the asynchronous operation. | 10-20-2011 |
Martin Hoban, Torslanda SE
| Patent application number | Description | Published |
|---|---|---|
| 20090200835 | LAMINATED VEHICLE WALL - A vehicle body with a laminated wall includes a first wall and a second wall that is fixedly attached to the vehicle body and provided with a plurality of receiving openings. The first wall can have a plurality of assembly openings each provided with at least one sub-unit so as to form a substantially complete sub-assembly of the vehicle body, and each being arranged so as to substantially coincide with a corresponding receiving opening when the outer side of the first wall is attached to the inner side of the second wall. The outer side of the first wall can be attached to the inner side of the second wall so that each assembly opening substantially coincides with at least one receiving opening to form the laminated wall. | 08-13-2009 |
