jlind0

Untitled

Jan 3rd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. use std
  2. const main = {
  3. var p = person();
  4. p.setFirst("Jon");
  5. p.setLast("Snow");
  6. std.put(p.fullName());
  7. }
  8. type personType = struct
  9. getFirst : (->byte[:])
  10. getLast : (-> byte[:])
  11. setFirst : (n : byte[:] -> void)
  12. setLast : (n : byte[:] -> void)
  13. fullName : (-> byte[:])
  14. ;;
  15. const person : (-> personType) = {
  16. type personData = struct
  17. firstName: byte[]
  18. lastName: byte[]
  19. ;;
  20.  
  21. var data : personData = std.mk([ firstName : "", lastName : ""]);
  22. var getFirst = {
  23. var f = data#.firstName;
  24. -> f;};
  25. var setFirst = {n : byte[:]
  26. data.firstName = n;
  27. ->void;};
  28. var getLast = {
  29. var l = data#.lastName;
  30. -> l;};
  31. var setLast = {n : byte[:]
  32. data.lastName = n;
  33. -> void};
  34. var fullName = {
  35. var full = std.strcat(std.strcat(data#.lastName, ", "),data.firstName);
  36. -> full;};
  37. -> [.getFirst=getFirst, .getLast=getLast, .setFirst=setFirst, .setLast=setLast, .fullName=fullName]
  38. }
Advertisement
Add Comment
Please, Sign In to add comment