mirror of
https://github.com/ParkerTenBroeck/coroutines.git
synced 2026-06-06 21:00:35 -04:00
organized, added futures
This commit is contained in:
parent
13d9ba7363
commit
6424548e75
8 changed files with 29 additions and 6 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import generator.Gen;
|
||||
import generator.gen.Gen;
|
||||
|
||||
public class Examples {
|
||||
// public static Gen<String, Void> parse(String str){
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import generator.Gen;
|
||||
import generator.gen.Gen;
|
||||
|
||||
public class Lexer {
|
||||
public sealed interface Token{}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import generator.Fun;
|
||||
import generator.Gen;
|
||||
import generator.gen.Gen;
|
||||
|
||||
public class Main implements Runnable {
|
||||
public static void main(String[] args) {
|
||||
|
|
|
|||
18
src/generator/future/Future.java
Normal file
18
src/generator/future/Future.java
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
package generator.future;
|
||||
|
||||
public interface Future<R> {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
default R poll(Waker waker){
|
||||
return (R) Pending.INSTANCE;
|
||||
}
|
||||
|
||||
default R await(){
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
final class Pending{
|
||||
private static final Pending INSTANCE = new Pending();
|
||||
private Pending(){}
|
||||
}
|
||||
}
|
||||
5
src/generator/future/Waker.java
Normal file
5
src/generator/future/Waker.java
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
package generator.future;
|
||||
|
||||
public interface Waker {
|
||||
void wake();
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package generator;
|
||||
package generator.gen;
|
||||
|
||||
public interface Gen<Y, R> {
|
||||
Res<Y, R> next();
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package generator.runtime;
|
||||
|
||||
import generator.Gen;
|
||||
import generator.gen.Gen;
|
||||
|
||||
import java.lang.classfile.*;
|
||||
import java.lang.classfile.attribute.InnerClassInfo;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package generator.runtime;
|
||||
|
||||
import generator.Fun;
|
||||
import generator.Gen;
|
||||
import generator.gen.Gen;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.classfile.*;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue